Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] wygenerowanie nowego hasła
Forum PHP.pl > Forum > Przedszkole
new_post
potrzebuję małej pomocy, otóż przy pomocy tutoriala wykonałem skrypt przypominający hasło: oto część kodu:
  1. function password() {
  2. $min = 2; $max = 30;
  3. for($i=0;$i<rand($min,$max);$i++) {
  4. $znak=chr(rand(48,122));
  5. if (eregi("[0-9a-zA-Z]",$znak)) $password .= $znak;
  6. else $i--;
  7. }
  8. return $password;
  9. }
  10. $hasloczytelne = password();
  11. $password = sha1($hasloczytelne);
  12. $wynik = mysql_query("UPDATE $mysql_tabela SET password='$password' WHERE user='$user' and status=5");
  13. $dane = mysql_fetch_array($idsprawdzenie);
  14. $email = $dane["email"];
  15. $list = 'twoje nowe hasło to: '.$password;
  16. $moj_adres = 'system@......pl';
  17. mail($email, "zmiana hasła w serwisie ......pl", $list,"From: $moj_adres");
  18. echo "<font color=\"#000000\">Hasło zostało wysłane na adres e-mail podany w trakcie rejestracji.</font>";

skrypt zmienia hasło w bazie, tylko na adres mailowy wysyła hasło zaszyfrowane - ciąg taki jak jest w bazie po zaszyfrowaniu hasła ... jak to zmienić i odszyfrować go przed wysłaniem na maila? myślałem, że linijka $password = sha1($hasloczytelne) to załatwia, no chyba, że sha1 się nie da odszyfrować?

przepraszam za zamieszanie, przeoczyłem że w $list powinna być $hasloczytelne i teraz jest ok ... sorki za kłopot, a propo można jakoś uprościć ten kod?
Klycior
Jak uprościć ?

Poprostu zrobić kod w którym generuje się nowe hasło i następnie zakodować je i dodać do bazy użytkownika.
Wyciągnij z bazy informację o jego mailu i wyślij mu hasło na maila, które zostało wygenerowane jako nowe i po kłopocie winksmiley.jpg
new_post
ok, thx to już mam, chcialem tylko się poradzić, jak prawidłowo wykonać ten wpis
  1. $wynik = mysql_query("UPDATE $mysql_tabela SET kod='$kod',data='.NOW().' WHERE user='$user' and email='$email'");
, w takim układzie date pokazuje mi 0000-00-00 00:00:00 - czyli źle zapisałem datę bez ' ' też nie idzie ... pomocy
Wicepsik
NOW to funkcja mysql

  1. date = NOW() WHERE


http://dev.mysql.com/doc/refman/5.1/en/dat...ml#function_now
new_post
teraz już rozumiem, dziękuję ... działa
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.