Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Edycja rekordu
Pcbecaw
post
Post #1





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 4.06.2011

Ostrzeżenie: (0%)
-----


Mam z internetu taki formularz dot. zmiany hasła w panelu użytkownika:
  1. <form action="" method="post">
  2. Podaj login: <input type="text" name="nick" /><br /><br />
  3. Podaj email:<input type="text" name="email" /><br /><br />
  4. Podaj hasło:<input type="password" name="haslo" /><br /><br />
  5. <input name="dalej" type="submit" value="Dalej"><br /><br />
  6. </form>
  7.  
  8. <?php include("config.php");
  9. error_reporting(E_ALL^E_NOTICE);
  10. if($_POST['dalej'])
  11. {
  12. $haslo = substr(addslashes($_POST['haslo']),0,32);
  13.  
  14. if(empty($login) || empty($haslo) || empty($email)) $wiadomosc .= "Uzupełnij wszystkie pola<br>";
  15.  
  16. if(empty($wiadomosc))
  17. {
  18.  
  19. // sprawdzanie loginu
  20.  
  21. $log = mysql_query("SELECT * FROM uzytkownicy WHERE nick='".$login."'");
  22. $log1 = mysql_num_rows($log);
  23.  
  24. if($log1 === 0) $wiadomosc .= "Podany login nie istieje<br>";
  25.  
  26. // sprawdzanie hasla
  27.  
  28. $has = mysql_query("SELECT * FROM uzytkownicy WHERE haslo='".$haslo."'");
  29. $has1 = mysql_num_rows($has);
  30.  
  31. if($has1 === 0) $wiadomosc .= "Podane hasło jest nieprawidłowe<br>";
  32.  
  33. // sprawdzanie emaila
  34.  
  35. $ema = mysql_query("SELECT * FROM uzytkownicy WHERE email='".$email."'");
  36. $ema1 = mysql_num_rows($ema);
  37.  
  38. if($ema1 === 0) $wiadomosc .= "Podany email nie istnieje<br>";
  39. }
  40. }
  41.  
  42.  
  43.  
  44. if($_POST['dalej'] and empty($wiadomosc))
  45. {
  46. echo '
  47. <form action="" method="post">
  48. <input type="hidden" name="login" value="'.$login.'">
  49. Podaj stare hasło <input type="password" name="haslos" /><br /><br />
  50. Podaj nowe hasło <input type="password" name="haslo1" /><br /><br />
  51. Powtórz nowe hasło <input type="password" name="haslo2" /><br /><br />
  52. <input name="zapisz" type="submit" value="Zapisz" /></form>
  53. ';
  54. }
  55.  
  56.  
  57.  
  58. if($_POST['zapisz'])
  59. {
  60. $haslos = substr(addslashes($_POST['haslos']),0,32);
  61. $haslo1 = substr(addslashes($_POST['haslo1']),0,32);
  62. $haslo2 = substr(addslashes($_POST['haslo2']),0,32);
  63.  
  64. if(empty($haslos) || empty($haslo1) || empty($haslo2)) $wiadomosc .= "Uzupełnij wszystkie pola<br>";
  65.  
  66. if(empty($wiadomosc))
  67. {
  68. $has = mysql_query("SELECT * FROM uzytkownicy WHERE haslo='".$haslos."'");
  69. $has1 = mysql_num_rows($has);
  70.  
  71. if($has1 === 0) $wiadomosc .= "Stare hasło nie pasuje<br>";
  72. if($haslo1 != $haslo2) $wiadomosc .= "Hasła są różne<br>";
  73. }
  74. if(empty($wiadomosc))
  75. {
  76.  
  77. $zapytanie1 = 'UPDATE `uzytkownicy` SET `haslo`= "'.$haslo2.'" WHERE `nick`="'.$login.'"';
  78. $idzapytania1 = mysql_query($zapytanie1) or die(mysql_error());
  79. $wiadomosc .= "hasło zostało zmienione<br>";
  80. }
  81. }
  82. echo $wiadomosc;
  83. ?>

W bazie hasła w rejestracji koduje tak:
  1. $haslo = substr(addslashes($_POST['haslo']),0,32);


Teraz problem pojawia się w edycji i uwierzytelnianiu. Po wpisaniu hasła takiego, jak przy rejestracji, wyskakuje komunikat, że hasła są nieprawidłowe. Jednak po skopiowaniu zakodowanego hasła i wpisanie go w pole formularza - wszystko jest ok. Błędem jest odkodowywanie hasła w pliku dot. edycji hasła. Jak to naprawić?
Dzięki, pozdrawiam wink.gif
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 00:24