Modification mot de passe sous php via odbc

Merickette Messages postés 7 Statut Membre -  
Zep3k!GnO Messages postés 2049 Statut Membre -
Bonjour,

Je conçoie une application avec possibilité pour l'utilisateur de modifier son mot de passe.
Dans le code ci-dessous:

<?php

//Recupération des données saisies par le user
$mat=$_POST['matricule'];
$mpa=$_POST['anpassword'];
$mpn=$_POST['nvpassword'];
$mpnc=$_POST['cfpassword'];

//Comparaison de mpn et mpnc
if ($mpn != $mpnc)
{
header('Location:errormessage.php?mes=6');
exit();
}
else
{
//Etablit la connexion
include("connect_informix.php");

//Vérification de l'existance du mot passe saisie dans la base
$Req="Select mot_pass from savqt_uti_cb where matricule='$mat' and mot_pass='$mpa'";
$Resp=odbc_exec($cnx, $Req);

if (odbc_num_rows($Resp) < 0)
{
echo 'Aucun mot de passe dans la base ne correspond a votre saisie !';
print("<P><A HREF='ChangementMotPass1.php'>RETOUR </A>");
//header('Location:errormessage.php?mes=5');
//exit();
}
else
{
while (odbc_fetch_row($Resp))
{
//Créer la requête de modification
$req="Update savqt_uti_cb SET mot_pass=('$mpn') where matricule='$mat' ";
$resp=odbc_exec($cnx, $req);
if (odbc_num_rows($resp) >0)
{
echo "Mot de passe changer avec succes";

}
else
{

echo "Votre mot de passe n'a pas pu être modifié : Veuillez recommencer SVP";
}
}
}
odbc_close ($cnx);
}
?>

Tout le code marche un temps soit peu.
En effet, mon problème se situe au niveau du odbc_num_rows que je fais juste après le select
Quand je fais tel qu'énoncé ci-dessus; qu'il trouve ou pas le mot de passe exacte, il ne fais pas de modification et m'affiche 'Aucun mot de passe dans la base ne correspond a votre saisie !'
Je n'ai pu trouver sur le net aucune information claire et précise sur l'utilisation de "odbc_num_rows" après un 'select'.
Si quelqu'un pourrait bien avoir l'aimabilité de me donner un coup de pousse, se serait agréable vu que je tourne en rond depuis hier soir.

Merci d'avance
A voir également:

1 réponse

Zep3k!GnO Messages postés 2049 Statut Membre 200
 
Heuuu t'as chercher sur fr.php.net ? ? ? huhu ! Car y a un truc intéressant :
https://www.php.net/manual/fr/function.odbc-num-rows.php : "Pour les commandes SELECT, cela PEUT être le nombre de lignes disponibles, mais ce n'est pas certain."

et

"Note: L'utilisation de la fonction odbc_num_rows() pour déterminer le nombre de lignes disponible après un SELECT retournera -1 avec la plupart des pilotes."
0