Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] wygrawerowanie i przesłanie nowego hasła, problem
Lejto
post
Post #1





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


Mam kod który graweruje nowe hasło updatuje do bazy przesyła je na danego maila.
Kod był wiele razy modyfikowany więc niektóre elementy mogą być niepotrzebne.
Raz kod zadziałał zupdatował nowe hasło do bazy ale nie wysłał mailem wiadomość doszła ale bez hasła (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Teraz ani to ani to nie działa.
Kody: (kody formularza nie podaje bo chyba nie ma po co)
  1. <?php
  2. tworz_naglowek_html('Ustawianie hasła');
  3.  
  4. // utworzenie krótkiej nazwy zmiennej
  5. $user = $_POST['user'];
  6.  
  7. try
  8. {
  9.  $haslo=ustaw_haslo($user);
  10.  powiadom_haslo($user, $haslo);
  11.  echo 'Nowe hasło zostało przesłane na adres poczty elektronicznej.<br />';
  12. }
  13. catch (Exception $e)
  14. {
  15.  echo 'Hasło nie mogło zostać ustawione. Proszę spróbować póĽniej.';
  16. }
  17. tworz_HTML_URL('?co=log', 'Logowanie');
  18. tworz_stopke_html();
  19. ?>

i grawerowanie
  1. <?php
  2. function pobierz_losowe_slowo($dlugosc_min, $dlugosc_max)
  3. //pobranie losowego słowa ze słownika o okre?lonej długo?ci zwrócenie go
  4. {
  5.  global $haslo;
  6.  
  7. $ile_liter = 4; // Ile liter ma mieć losowany ciąg
  8. $litery = 'qwertyuiopasdfghjklzxcvbnm1234567890'; // Zestaw liter z jakich ma być zbudowany ciąg
  9.  
  10. // 'Zamieszanie komory losującej'
  11. // UWAGA: od wersji 4.2.0 PHP nie jest to juz konieczne
  12. srand((double)microtime()*1000000);
  13.  
  14. $haslo = ''; // Ustawienie początkowe hasła
  15. for ($i=0;$i<$ile_liter;$i++)
  16.  { $haslo .= substr($litery,(rand()%(strlen($litery))),1); };
  17. }
  18.  
  19.  
  20.  
  21. function ustaw_haslo($user)
  22. // ustawienie hasła użytkownika na losowš warto?ć 
  23. // zwraca nowe hasło lub false w przypadku niepowodzenia
  24. { 
  25.  echo $haslo;
  26. $wynik = mysql_query("update uzytkownik
  27.  set haslo = sha1('$haslo')
  28.  where user = '$user'");
  29. if (!$wynik)
  30.  echo 'Zmiana hasła nie powiodła się.'; // hasło nie zmienione
  31. else
  32. return $haslo; // hasło zmienione pomyślnie
  33. }
  34.  
  35. function powiadom_haslo($user, $haslo)
  36. // powiadomienie użytkownika o zmianie hasła
  37. {
  38.  
  39. $wynik = mysql_query("select email from uzytkownik
  40.  where user='$user'");
  41. if ($wynik == false)
  42. {
  43. echo 'Nie znaleziono adresu e-mail<br>';
  44. }
  45. else
  46. {
  47. $wiersz = mysql_fetch_object($wynik);
  48. $email = $wiersz->email;
  49. $od = "From: admin@admin.pl r\n";
  50. $wiad = "Hasło na stronie ddd zostało zmienione na:r\n"
  51. ."--------------------r\n"
  52. .$haslo
  53. ."r\n--------------------r\n"
  54. ."Proszę zmienić je przy następnym logowaniu. r\n"
  55. ."W razie niedziałania hasła lub jakiego kolwiek błędu proszę powiadomić administratora strony r\n";
  56. echo 'elo';
  57. echo $haslo;
  58.  
  59. if (mail($email, 'Przesłanie nowego hasła', $wiad, $od))
  60. return true;
  61. else
  62. echo 'Wysłanie e-maila nie powiodło się';
  63. }
  64. }
  65. ?>


Ten post edytował Lejto 2.05.2008, 17:10:28
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: 5.10.2025 - 07:52