[PHP] formulaire de réinitialisation mdp

Résolu
warnaud Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   -
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...
A voir également:

1 réponse

Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
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 ?
0
warnaud Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
$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");
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
mysql_affected rows, est utilisé pour tes requêtes SQL.
https://www.php.net/manual/fr/function.mysql-affected-rows.php
0
warnaud Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Merci de ton aide.
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
C'est résolu ?
0