Napisałem taki kod strony służącej do zmiany hasła użytkownika:
<? include("../include/sessions.inc"); include("../include/connect.php"); $id=$_SESSION['id']; $login=$_SESSION['login']; $password=$_POST['o_password']; $a=mysql_query("SELECT*FROM tabela_users WHERE user_id='$id' AND user_name='$login' AND user_password=md5('$password')"); if ($user_exists==1){//2 $password=$r['user_password']; $o_password=$_POST['o_password']; if ($_POST['password1']==$_POST['password2']){//3 $n_password=$_POST['password1']; $b=mysql_query("UPDATE tabela_users SET user_password=md5('$n_password') WHERE user_id='$id' AND user_name='$login'"); }//3 else{//4 $adres = 'http://domena.pl/user/index.php'.'?er=2'; }//4 } else{//5 $adres = 'http://domena.pl/user/index.php'.'?er=1'; }//5 }//1 else{ $er=$_GET['er']; switch($er){ case '1': break; case '2': break;}} ?> <form method="post" action="update.php"> Aktualne hasło: <br /> <input type="password" name="o_password" /> <br /> Nowe hasło: <br /> <input type="password" name="password1" /> <br /> Powtórz hasło: <br /> <input type="password" name="password2" /> <br /> <input type="submit" value="Aktualizuj" name="do_change" /> </form> <? } ?>
Jednak mam problem ze sprawdzaniem hasła w pierwszym sparwdzeniu, bo caly czas pokazuje mi, że wpisalem złe hasło. Jednak cały czas wpisuje to samo (dobre) haslo i nic.
To jest fragment ze strony gdzie użytkownik jest rejestrowany.
$add = "INSERT INTO tabela_users (user_name, user_password) VALUES ('$user', md5('$pass'))";
Osobiście jestem prawie pewien, że chodzi o kodowanie hasła, ale nie mam pojęcia gdzie jest błąd.
Proszę o pomoc.