Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]Skrypt przypomnienia hasła
adrianozo
post
Post #1





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

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


Witam.
Napisałem jakiś tam skrypt przypomnienia(wygenerowania nowego hasła)
Chciałbym się dowiedzieć co tutaj z nim jest nie tak. Wszystko działa tylko może coś źle obmyśliłem?
Proszę o porady.

  1. <?php
  2. if(isset($_POST['email']))
  3. {
  4. echo '<div align="center"><form action="index.php?page=lostpassword" method="post">
  5. <input type="hidden" name="send" value="1">
  6. <br />Podaj adres email:<input type="text" name="email" value="'.$_POST['email'].'" /><br /><br />
  7. <input class="przycisk_admin" name="reset" type="submit" value="Resetuj hasło">
  8. </form><br /><br /></div>';
  9. }
  10. else
  11. {
  12. echo '<div align="center"><form action="index.php?page=lostpassword" method="post">
  13. <input type="hidden" name="send" value="1">
  14. <br />Podaj adres email:<input type="text" name="email" /><br /><br />
  15. <input class="przycisk_admin" name="reset" type="submit" value="Resetuj hasło">
  16. </form><br /><br /></div>';
  17. }
  18. if(isset($_POST['reset']))
  19. {
  20. $zapytanie = mysql_query("SELECT * FROM `user` WHERE `email` = '".$_POST['email']."'");
  21. if(!$_POST["email"] || !preg_match("/^[-0-9a-zA-Z_\.]+@([-0-9a-zA-Z_\.]+\.)+([0-9a-zA-Z]){2,4}$/i", $_POST["email"]))
  22. {
  23. echo '<font color="red">Podany email jest nieprawidłowy.</font><br />';
  24. }
  25. elseif(!mysql_num_rows($zapytanie))
  26. {
  27. echo 'Nie znaleziono takiego adresu email!';
  28. }
  29. else
  30. {
  31. while($wiersz = mysql_fetch_array($zapytanie))
  32. {
  33. $email = $wiersz['email'];
  34. }
  35. $haslo = substr(md5(date("d.m.Y.H.i.s").rand(1,1000000)) , 0 , 10);
  36. $kod = str_shuffle("qwertyuiopasdfghjklzxcvbnm1234567890");
  37. $nowehaslo = "INSERT INTO `hasla` (`email`, `haslo`, `klucz`) VALUES ('".$email."', '".$haslo."', '".$kod."')";
  38. $idnowehaslo = mysql_query($nowehaslo) or die(mysql_error());
  39. $naglowki = 'MIME-Version: 1.0' . "\r\n";
  40. $naglowki .= 'Content-type: text/html; charset=utf-8' . "\r\n";
  41. $naglowki .= 'To: <>' . "\r\n";
  42. $naglowki .= 'From: <gazetka.sieniu.czest.pl>' . "\r\n";
  43. mail($email, 'Przypomnienie hasła na gazetka.sieniu.czest.pl', '<html><body><br /><b>Witaj <b>'.$loginek.'</b>!<br /><br /><br />Na koncie <b>'.$loginek.'</b> zostało zresetowane hasło.<br /><b>Nowe hasło brzmi: '.$haselko.'</b><br /><br />W celu potwierdzenia zmiany hasła kliknij w poniższy odnośnik:<br /><a href="http://gazetka4lo.cba.pl/index.php?page=lostpassword&code='.$kod.'">http://gazetka4lo.cba.pl/index.php?page=lostpassword&code='.$kod.'</a><br /><br />Jeśli nie resetowałeś hasła na koncie <b>'.$loginek.'</b> po prostu zignoruj tego maila.<br /><br /><br />------<br />Wiadomość wygenerowana automatycznie<br />przez serwis gazetka.sieniu.czest.pl</body></html>', $naglowki);
  44. if($idnowehaslo === TRUE)
  45. {
  46. echo 'Nowe hasło zostało wysłane na podany adres email!';
  47. }
  48. else
  49. {
  50. echo 'Nie udało się zresetować hasła.<br />Prosimy spróbować ponownie za jakiś czas!';
  51. }
  52. }
  53. }
  54. if(isset($_GET['code']))
  55. {
  56. if($_GET['code'])
  57. {
  58. $zap = mysql_query("SELECT * FROM `hasla` WHERE `klucz`= '".$klucz."'");
  59. while($wiersz = mysql_fetch_array($zap))
  60. {
  61. $emailii = $wiersz['email'];
  62. $haslii = strip_tags(htmlspecialchars(stripslashes(trim(mysql_real_escape_string(md5(sha1($wiersz['haslo'])))))));
  63. }
  64. $zapytanie = mysql_query("UPDATE `user` SET `haslo` = '".$haslii."' WHERE `email` = '".$emailii."'") or die(mysql_error());
  65. {
  66. echo '<div align="center"><br /><font color="green"><b>Aktywacja nowego hasła ukończona pomyślnie. Możesz już korzystać z naszego serwisu.<br /><a style="text-decoration: none;" href="index.php">Przejdź do logowania</a></b></font><br /><br /></div>';
  67. }
  68. elseif(mysql_affected_rows()==0)
  69. {
  70. echo '<div align="center"><br /><font color="orange"><b>Podane hasło jest już aktywne.</b></font><br /><br /></div>';
  71. }
  72. else
  73. {
  74. echo '<div align="center"><br /><font color="red"><b>Podano nieistniejący kod aktywacyjny.</b></font><br /><br /></div>';
  75. }
  76. }
  77. }
  78. ?>


Ten post edytował adrianozo 12.10.2010, 20:28:22


--------------------
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: 21.08.2025 - 21:28