[PHP] formulaire de réinitialisation mdp

Résolu
Bonjour,

J'ai un problème sur un script PHP de mon cru, qui sert a la réinitialisation d'un mdp d'un membre, s'il est connecté.

<?php

if(isset($_GET['changepw']) AND $_SESSION['id'])
{
	// Si le formulaire de changement de mot de passe a été soumis
	$err = array();
	
	$_SESSION['stade']='formulaire soumis';
	
	if($_SESSION['password']!= $_POST['password1'])
	{
		$err[]="L'ancien mot de passe est incorrect!";
	}
	
	if(preg_match('/[^a-z0-9\-\_\.]+/i',$_POST['password2']))
	{
		$err[]='Votre nouveau mot de passe contient des caractères invalides!';
	}
	
	if($_POST['password2']!=$_POST['password3'])
	{
		$err[]='Les deux (nouveaux) mots de passe ne correspondent pas!';
	}
	
	if(!count($err))
	{
		// S'il n'y a aucune erreur
		$pass = $_POST['password2'];
		
		$_SESSION['stade']='aucune erreur';
		// Mot de passe
		// Envoit des données a la dB
		
		$query = sprintf("SELECT firstname, lastname, address, age FROM friends
			WHERE firstname='%s' AND lastname='%s'",
			mysql_real_escape_string($pass),)
		
		if(mysql_affected_rows($link)==1)
		{
			$_SESSION['stade']='envoit du mail';
			
			send_mail(	'registration@triggerhurt.com',  //Envoit du mail avec le Mot de Passe
						$_SESSION['email'],
						'Système de registration - Votre mot de passe',
						'Votre mot de passe a été changé '.$_SESSION['usr'].', dorénavant il sera: '.$pass);

			$_SESSION['msg']['chpw-success']='Nous vous avons envoyé un mail contenant votre mot de passe!';
		}
	}

	if(count($err))
	{
		$_SESSION['msg']['chpw-err'] = implode('<br />',$err);
	}	
	
	header("Location: changepw.php");
	exit;
}

?>



PHP ne me retourne aucune erreur...

1 réponse

  1. Salut,
    Si il ne te retourne rien du tout, c'est peut être parce qu'il ne passe pas dans tes if, vérifie que tes conditions soient bonnes.
    if(mysql_affected_rows($link)==1)
    

    A quoi correspond $link ?
    1. $link correspond a

      $db_host		= 'localhost';
      $db_user		= 'root';
      $db_pass		= '****';
      $db_database	= '***'; 
      
      /* Fin de la config */
      
      
      
      $link = mysql_connect($db_host,$db_user,$db_pass);
      
      mysql_select_db($db_database,$link);
      mysql_query("SET names UTF8");
      
    2. Merci de ton aide.
    3. C'est résolu ?