Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]Skrypt zmiany hasła użytkownika
adrianozo
post
Post #1





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

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


Witam wszystkich forumowiczów (IMG:style_emoticons/default/smile.gif)
Postanowiłem napisać sobie skrypt zmiany hasła dla użytkownika, ale mam problem.
Robię to w dwóch etapach. Najpierw użytkownik podaje login, email oraz teraźniejsze hasło. Skrypt ma w tym momencie za zadanie sprawdzić czy takie dane istnieją w bazie. Jak na razie problem polega na tym: podaje prawidłowo wszystkie dane,a skrypt wyrzuca komunikat:
Kod
Podane hasło jest nieprawidłowe
Podany email jest nie prawidłowy

Ale pomimo tych komunikatów przechodzi do kolejnego kroku czyli zmiany hasła. Nie mam pojęcie co jest nie tak dlatego tutaj pisze.
Proszę o pomoc.
Z góry dziękuje (IMG:style_emoticons/default/smile.gif)
Pozdrawiam,
adrianozo (IMG:style_emoticons/default/smile.gif)

zmien_haslo.php
  1. <?php
  2. if(!$_SESSION['access'] || !$_SESSION['login'])
  3. {
  4. header('Location: index.php');
  5. }
  6. include('include/db.php');
  7. if(isset($_POST['loginek']))
  8. {
  9. if($_POST['loginek'] && $_POST['haslo'] && $_POST['send'])
  10. {
  11. $haslo = strip_tags(htmlspecialchars(mysql_real_escape_string(md5(sha1($_POST['haslo'])))));
  12. $haslo1 = strip_tags(htmlspecialchars(mysql_real_escape_string(md5(sha1($_POST['haslo1'])))));
  13. $haslo2 = strip_tags(htmlspecialchars(mysql_real_escape_string(md5(sha1($_POST['haslo2'])))));
  14. $haslo3 = strip_tags(htmlspecialchars(mysql_real_escape_string(md5(sha1($_POST['haslo3'])))));
  15. $zapytanie = 'SELECT * FROM admin WHERE loginek="'.$login.'" and haslo="'.$haslo.'" LIMIT 1';
  16. $idzapytania = mysql_query($zapytanie);
  17. $znajdz = mysql_fetch_array($idzapytania);
  18. }
  19. }
  20. if(!isset($_POST['loginek']) && empty($_POST['loginek']) && !isset($_POST['email']) && empty($_POST['email']) && !isset($_POST['haslo']) && empty($_POST['haslo']))
  21. {
  22. echo '<form action="index.php?page=zmien_haslo&wpis=1" method="post"><br />
  23. <input type="hidden" name="send" value="1" />
  24. Podaj login<br />
  25. <input type="text" name="loginek" />
  26. <br /><br />Podaj adres email<br />
  27. <input type="text" name="email" />
  28. <br /><br />Podaj aktualne hasło<br />
  29. <input type="password" name="haslo" /><br /><br />
  30. <input name="dalej" type="submit" value="Dalej" /></form><br />
  31. <a style="text-decoration: none;" href="index.php?page=paneladmina">Wróć do Panelu Administratora</a><br /><br />';
  32. }
  33. if(isset($_POST['loginek']) && !empty($_POST['loginek']) && !empty($_POST['email']) && !empty($_POST['email']) && !empty($_POST['haslo']) && !empty($_POST['haslo']))
  34. {
  35. echo '<form action="index.php?page=zmien_haslo&wpis=2" method="post"><br />
  36. <input type="hidden" name="send" value="2" />
  37. Podaj stare hasło<br />
  38. <input type="password" name="haslo1" />
  39. <br /><br />Podaj nowe hasło<br />
  40. <input type="password" name="haslo2" />
  41. <br /><br />Powtórz nowe hasło<br />
  42. <input type="password" name="haslo3" /><br /><br />
  43. <input name="zapisz" type="submit" value="Zapisz" /></form><br />
  44. <a style="text-decoration: none;" href="index.php?page=paneladmina">Wróć do Panelu Administratora</a><br /><br />';
  45. }
  46. $error = '';
  47. $blad = '';
  48. if((isset($_POST['dalej'])))
  49. {
  50. if(empty($_POST["loginek"]) or empty($_POST["email"]))
  51. {
  52. $error .= 'Nie wypełniono wszystkich pól<br />';
  53. }
  54. if($znajdz['loginek']!=$loginek)
  55. {
  56. $error .= 'Podany login jest nieprawidłowy<br />';
  57. }
  58. if($znajdz['haslo']!=$haslo)
  59. {
  60. $error .= 'Podane hasło jest nieprawidłowe<br />';
  61. }
  62. if($znajdz['email']!=$email)
  63. {
  64. $error .= 'Podany email jest nie prawidłowy<br />';
  65. }
  66. if(!empty($error))
  67. {
  68. echo $error;
  69. }
  70. if((isset($_POST['dalej'])))
  71. {
  72. if(empty($_POST["haslo1"]) or empty($_POST["haslo2"]) or empty($_POST["haslo2"]))
  73. {
  74. $error .= 'Nie wypełniono wszystkich pól<br />';
  75. }
  76. if($_POST['haslo1']!=$_POST['haslo2'] && $_POST['haslo2']!=$_POST['haslo3'])
  77. {
  78. $blad .= 'Podane hasła nie są identyczne.<br />';
  79. }
  80. if(!empty($blad))
  81. {
  82. echo $blad;
  83. }
  84. if(isset($_POST['zapisz']) && !empty($_POST['zapisz']))
  85. {
  86. $zapytanie2 = 'UPDATE admin SET haslo="'.$haslo3.'" WHERE loginek="'.$login.'"';
  87. $idzapytania2 = mysql_query($zapytanie2);
  88. }
  89. }
  90. }
  91. if(isset($_POST['send']))
  92. {
  93. if($_POST['send'])
  94. {
  95. if(isset($idzapytania2))
  96. {
  97. if($idzapytania2 === TRUE)
  98. {
  99. echo '<font color="green"><strong>Hasło zostało zmienione.</strong></font><br /><br />';
  100. }
  101. else
  102. {
  103. echo '<font color="red"><strong>Nie udało się zmienić hasła. Proszę spróbować za jakiś czas!</strong></font><br /><br />';
  104. }
  105. }
  106. }
  107. }
  108. mysql_close($connect);
  109. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
gigzorr
post
Post #2





Grupa: Zarejestrowani
Postów: 652
Pomógł: 47
Dołączył: 6.02.2010
Skąd: Radom

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


Jednym słowem burdel w kodzie, na początku mogłeś posprawdzać ifem itp i później formularz dać w echo jakieś?

A ten błąd(czy jak to nazwać) masz bo źle ułożyłeś instrukcje.
Możesz exitem przerwać ale tego sie nie stosuje , poprostu ułóż dobrze ifa.

Później przejże ten kod dokładnie.

Ten post edytował gigzorr 28.05.2010, 17:05:22
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 11.10.2025 - 23:19