html - How to make PHP code check if inserted current password is correct password from MySQL database -
i making website settings form, user change password , email address.
my code following:
<meta charset="utf-8"/> <?php include_once 'init/init.funcs.php'; $kehtiv_parool=mysql_real_escape_string($_post['kehtiv_parool']); $kehtiv_parool_uuesti=mysql_real_escape_string($_post['kehtiv_parool_uuesti']); $uus_parool=mysql_real_escape_string($_post['uus_parool']); $kinnita_uus_parool=mysql_real_escape_string($_post['kinnita_uus_parool']); $email=mysql_real_escape_string($_post['email']); $userid=$_session['user']; $current_password = mysql_query("select parool kasutajad kasutaja_id ='$userid'"); if ($kehtiv_parool==$kehtiv_parool_uuesti){ if ($kehtiv_parool==$current_password){ if ($uus_parool==$kinnita_uus_parool){ mysql_query ("update kasutajad set parool='$uus_parool' kasutaja_id='$userid'"); echo "parool muudetud"; } if (!empty($_post['email'])){ mysql_query ("update kasutajad set e_mail='$email' kasutaja_id='$userid' "); echo "e-mail muudetud"; } } else echo "sisestatud kehtiv parool ei ole korrektne"; } else echo "sisestatud kehtivad paroolid ei kattu"; ?>
when remove code works:
<meta charset="utf-8"/> <?php include_once 'init/init.funcs.php'; $kehtiv_parool=mysql_real_escape_string($_post['kehtiv_parool']); $kehtiv_parool_uuesti=mysql_real_escape_string($_post['kehtiv_parool_uuesti']); $uus_parool=mysql_real_escape_string($_post['uus_parool']); $kinnita_uus_parool=mysql_real_escape_string($_post['kinnita_uus_parool']); $email=mysql_real_escape_string($_post['email']); $userid=$_session['user']; $current_password = mysql_query("select parool kasutajad kasutaja_id ='$userid'"); if ($kehtiv_parool==$kehtiv_parool_uuesti){ if ($uus_parool==$kinnita_uus_parool){ mysql_query ("update kasutajad set parool='$uus_parool' kasutaja_id='$userid'"); echo "parool muudetud"; if (!empty($_post['email'])){ mysql_query ("update kasutajad set e_mail='$email' kasutaja_id='$userid' "); echo "e-mail muudetud"; } } else echo "sisestatud kehtiv parool ei ole korrektne"; } else echo "sisestatud kehtivad paroolid ei kattu";
but wont check if inserted old password correct password of user, how should write code make work? variable kehtiv_parool holds value of current password user inserted in html form , kehtiv_parool_uuesti confirmation of same thing.
my html following:
<html> <head> <meta charset="utf-8"/> <title>seaded</title> </head> <body> <p>täida väljad, mida soovid muuta</p> <form action="seaded.php" method="post"> <br>uus parool<input type="password" name="uus_parool"> <br> <br>kinnita uus parool <input type="password" name="kinnita_uus_parool"> <br> <br>e-mail <input type="text" name="email"><br> <hr> <br>sisesta kehtiv parool <input type="password" name="kehtiv_parool"><br> <br>sisesta kehtiv parool uuesti <input type="password" name="kehtiv_parool_uuesti"><br> <input type="submit" value="kinnita"> </form> </body> </html>
you need call mysql_fetch_assoc
row query returns.
$current_password_result = mysql_query("select parool kasutajad kasutaja_id ='$userid'"); $current_password_row = mysql_fetch_assoc($current_password_result); $current_password = $current_password_row ? $current_password_row['parool'] : null; if ($kehtiv_parool==$kehtiv_parool_uuesti){ if ($kehtiv_parool===$current_password){
Comments
Post a Comment