[PHP] formulaire de réinitialisation mdp [Résolu/Fermé]

Signaler
Messages postés
3
Date d'inscription
mardi 20 décembre 2011
Statut
Membre
Dernière intervention
20 décembre 2011
-
Melooo
Messages postés
1406
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
-
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

Messages postés
1406
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
72
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 ?
warnaud
Messages postés
3
Date d'inscription
mardi 20 décembre 2011
Statut
Membre
Dernière intervention
20 décembre 2011

$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");
Melooo
Messages postés
1406
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
72
mysql_affected rows, est utilisé pour tes requêtes SQL.
http://php.net/manual/fr/function.mysql-affected-rows.php
warnaud
Messages postés
3
Date d'inscription
mardi 20 décembre 2011
Statut
Membre
Dernière intervention
20 décembre 2011

Merci de ton aide.
Melooo
Messages postés
1406
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
72
C'est résolu ?