Les Allergies
Alimentaires
Posez votre question Signaler

[PHP] problème de connexion : md5? [Résolu]

okuni 1151Messages postés 4 septembre 2008Date d'inscription 18 mars 2012Dernière intervention - Dernière réponse le 16 janv. 2009 à 15:03
Bonjour,
J'ai un problème lors de la connexion d'un membre.
je tape mon login et mdp et le site me renvoi qu'il est incorrecte.
si je vais dans la partie "oublié son mot de passe" j'entre mon mail et il y a un code de 19 caractères qui est créé ensuite il est crypté avec md5.
si je vérifie dans la table, le code a bien été enregisté.
mais lorsque je m'enregistre, il me met donc que le mdp est mauvais
j'ai pris le mdp crypté d'un autre membre avec comme mdp non crypté : test
j'ai remplacé le mpd crypté (mon compte) par celui de test. et la, je sais me connecter.
Je ne sais pas trop quel code donner vu que je ne sais pas ou l'erreur se situe
Merci beaucoup pour vos aides.
Lire la suite 

[PHP] problème de connexion : md5 »

7 réponses
Réponse
+0
moins plus
si j'ai bien compris ton problème c'est au niveau du log

donc ton mdp est crypté et enrgistrer ds ta bdd en md5

donc il te suffit de faire comme code deux trois lignes en plus dans ta page de log
quand l'utilisateur rentre son mdp non crypté le code lui le crypte puis tu compare le mdp crypté à celui enregistrer ds ta base.

Et normalement ce sera bon
Ajouter un commentaire
Réponse
+0
moins plus
Non tu n'a pas tout compris. j'ai déja fais ça et tout marche car si je copie le code crypté du mot "test" et que je le met dans ma table, je sais me connecter sans problème en tapant "test".
c'est donc uniquement lorsque je demande un nouveau mot de passe que je suis refusé.

merci pour ton aide.
Ajouter un commentaire
Réponse
+0
moins plus
à d'accord c'est quand tu redemande un nouveau mot de passe?

Pourais je voir ton code ce sera peut etre plus simple
Ajouter un commentaire
Réponse
+0
moins plus
pas de problème
voila :
<h1>Récupération du mot de passe</h1>
	<?php
	if (isset($_POST['mail']))
	{
		include_once('../raynal/config.php');
		
		$mail = $_POST['mail'];
		$msgerreur = '';
		
		//vérification du mail et modification du mot de passe
		$counter = mysql_query("SELECT COUNT(*) as verif_mail FROM eyself_utilisateur WHERE mail='$mail'");
		$verif = mysql_fetch_array($counter);
		if ($verif['verif_mail'] == 0)
		{
			$msgerreur .= 'L\'adresse que vous avez entrez n\'existent pas dans notre base de donnée.<br/>';
		}
		//si mail existe, on change le mdp et on envoi le mail
		else
		{
			$result = mysql_query("SELECT id FROM eyself_utilisateur WHERE mail='$mail'");
			$donnees = mysql_fetch_array($result);
			echo 'id : '.$donnees['id'].'<br/>';
			
			//création du nouveau mot de passe
			function random($car)
			{
				$string = "";
				$chaine = "abcdefghijklmnpqrstuvwxyz0123456789";
				srand((double)microtime()*1000000);
				for($i=0; $i < $car; $i++)
				{
					$string .= $chaine[rand()%strlen($chaine)];
				}
				return $string;
			}
			//génère une chaine de 19 caractères
			$code = random(19);
			$code_md5 = md5($code);
			
			echo 'code : '.$code.'<br/>';
			echo 'code_md5 : '.$code_md5.'<br/>';
			
			$id_user = $donnees['id'];
			
			echo 'id_user : '.$id_user.'<br/>';
			
			$update = mysql_query("UPDATE eyself_utilisateur SET pass='$code_md5' WHERE id='$id_user'");
			if (!$update)
			{
				$msgerreur .= 'Une erreur est survenue.<br/>';
			}
			else
			{
				//Envoi du mail
				//Expéditeur
				$nom_expediteur = 'Eyself';
				$email_expediteur = 'contact@eyself.com';
				
				//Sujet du message.
				$sujet = 'Demande de mot de passe';
				
				//Destinataire
				$destinataire = $mail;
				
				//Boucle pour envoi à chaque destinataire.
				$headers = 'From: "'.$nom_expediteur.'" <'.$email_expediteur.'>'."\n";
				$headers .= "X-Mailer: PHP/" . phpversion() . "\n" ;
				$headers .= "MIME-version: 1.0\n";
				$headers .= "Content-type: text/html; charset= iso-8859-1\n"; 
				
				//Message texte
$message = '<pre>Vous avez demandez d\'acquérir un nouveau mot de passe.

Vous devez désormais utiliser le mot de passe suivant :

Nouveau mot de passe : <b>'.$code.'</b>

--------------------------------------------------

Si vous n\'avez pas demandez ce mail, merci de nous prévenir à <a href="mailto:contact@eyself.com">contact@eyself.com</a>.

--------------------------------------------------

Toute l\'équipe de Eyself.
<a href="http://www.eyself.com">http://www.eyself.com</a>
</pre>';
				
				//Envoi du mail
				$result = mail($destinataire,$sujet,$message,$headers);
				if (!$result)
				{
					$msgerreur .= 'Une erreur est survenue lors de l\'envoi du mail.<br/>';
				}
			}
		}
		if (!empty($msgerreur))
		{
			echo '<p>'.$msgerreur.'Merci de recommencer.</p>';
			?>
			<p>Donnez votre e-mail et nous vous enverrons un nouveau mot de passe.</p>
			<p>
			<form action="?page=recup_mdp" method="POST">
			<input type="text" name="mail" class="galerieBtn"/><br/>
			<input type="submit" name="envoyer" value="Demandez un nouveau mot de passe" class="galerieBtn"/>
			</form>
			</p>
			<?php
		}
		else
		{
			echo '<p>Vous recevrez un mail contenant votre nouveau mot de passe.</p>';
			echo '<p><a href="http://www.eyself.com">-- Retour à l\'accueil --</a></p>';
		}
	}
	else
	{
	?>
		<p>Donnez votre e-mail et nous vous enverrons un nouveau mot de passe.</p>
		<p>
		<form action="?page=recup_mdp" method="POST">
		<input type="text" name="mail" /><br/>
		<input type="submit" name="envoyer" value="Demandez un nouveau mot de passe" />
		</form>
		</p>
	<?php
	}
	?>


Il viens de m'arriver un truc fou.
J'ai retesté et cette fois ci j'ai su me connecter :/
Je comprend vraiment pas.
Ajouter un commentaire
Réponse
+0
moins plus
bah oui parce que ce que tu as codé je ne vois pas ou pourrais etre l'erreur.
Donc bah tant mieux c'est qu'il n'y avait pas d'erreur

bonne journée
Ajouter un commentaire
Réponse
+0
moins plus
tu vas rire mais j'ai rechangé le mdp pour être sur et je sais de nouveau plus me connecter.
Ajouter un commentaire
Réponse
+0
moins plus
Mon dieu, je suis bête...
En copiant (double clique) le mdp dans mon mail, il rajoutait un espace après le mot de passe...
Comment cela se fait-il?
Ajouter un commentaire
Ce document intitulé « [PHP] problème de connexion : md5? » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?