Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> funkcja mail nie rozumiem
pstefano
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 22.07.2005

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


witam
chce zrobic skrypt do odzyskiwania hasla swojego. Robie to na takiej zasadzie ze osoba podaje swoj login i na e-mail wysylane jest nowe haslo (losowe) i szyfrowane sh1. oto kod

  1. brak_hasla.php
  2. <?
  3. if($_POST['login']<>'')
  4. {
  5. $login=$_POST['login'];
  6. include('funkcja_lacz.php');
  7. $zapytanie="SELECT LOGIN,E_MAIL from klient where LOGIN='$login'";
  8.  
  9. if($r=mysql_query($zapytanie))
  10. {
  11. $liczba=mysql_num_rows($r);
  12. if($liczba>0)
  13. {
  14. while ($wiersz=mysql_fetch_array($r))
  15. {
  16. include('nowe_haslo.php');
  17. include('funkcja_lacz.php');
  18.  
  19. $odbiorca="{$wiersz['E_MAIL']}";
  20. echo "odbiorca $odbiorca";
  21. echo "<br />";
  22.  
  23. $haslo=uid(6);
  24. echo "odbiorca $haslo";
  25. echo "<br />";
  26. $temat="Nowe haslo ";
  27. echo "odbiorca $temat";
  28. echo "<br />";
  29. $zawartosc="Oto nowe haslo w serwisie: ".$haslo." (wazna wielkosc liter). Mozna a nawet trzeba nalezy zmienic je po zalogowaniu";
  30. echo "odbiorca $zawartosc";
  31. echo "<br />";
  32. $adresod='stefan@ztpnet.pl';
  33. echo "odbiorca $adresod";
  34. echo "<br />";
  35. if($haslo<>'')
  36. {
  37. if(mail($odbiorca,$temat,$zawartosc,$adresod))
  38. {
  39.  
  40. $zapytanie="UPDATE klient set HASLO_KL=sha1('$haslo') where LOGIN='$login'";
  41. if(mysql_query($zapytanie))
  42. {
  43. echo 'zmieniono w bazie';
  44. }
  45. else
  46. {
  47. echo "probelm z baza";
  48. }
  49. }
  50. }
  51.  
  52.  
  53.  
  54. }
  55.  
  56. }
  57. else
  58. {
  59. echo 'nie ma takiego uzytkownika';
  60. }
  61. }
  62.  
  63. }
  64. else
  65. {
  66. echo 'wprowadz login';
  67. }
  68. echo "<form action="brak_hasla.php" method="post" >";
  69. echo "podaj login<input type="text" name="login" />";
  70. echo "<input type="submit" name="wyslij" value="wyslij" />";
  71. echo "<br />";
  72. echo "</form>";
  73.  
  74. echo "<br />";
  75. echo "<a href="zaloguj.php">powrot</a>";
  76. ?>

oraz funkcja do losowego hasla
nowa_funkcja.php
  1. <?
  2. function uid($l) 
  3. { 
  4. $tmp="abcdefghijklmnoprstuvxyzqABCDEFGHIJKLMNOPRSTUWXYZ0123456789"; 
  5. for($i=0; $i<$l; $i++) 
  6. { 
  7. $s.=substr($tmp,(rand()%(strlen($tmp))),1); 
  8. } 
  9. return($s); 
  10. } 
  11.  
  12. $string=uid(8); 
  13. ?>


i tak na jeden e-mail wysyla mi - stefan@ztpnet.pl a na drugi e-mail pstefano@poczta.fm wysyla mi blad taki

  1. <?php
  2. Warning: mail() [function.mail]: SMTP server response: 550 Invalid recipient: pstefano@poczta.fm in c:usrapachehttpdhtmlsesje1brak_hasla.php on line 36
  3. ?>


36 linia to funckja mail i nie wiem od czego to zalezy. Oczywiscie czesc kodu jest nie potrzebna (tak dla mnie dla testu te echo).
Dziekuje za odpowiedz
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
MatheW
post
Post #2





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 29.05.2006
Skąd: Lublin

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


Byćmoze masz źle skonfigurowany serwer smtp, albo zły adres e-mail odbiorcy.
Go to the top of the page
+Quote Post
em1X
post
Post #3





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


Zgadza sie, wyglada na to, ze bedziesz musial zmienic serwer smtp (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ps. po co kazesz podawac login i email, skoro sam email wystarczy? Jakas dziwna moda na to panuje.. kto by tam loginy pamietał..
Go to the top of the page
+Quote Post
pstefano
post
Post #4





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 22.07.2005

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


w sumie prawda ze lepiej e-mail, pozneij to poprawie

a co do srvera to testuje to na krasnalu i chce to pozneij przeniec na inny serwer wiec chyba skrypty sa dobre?
Go to the top of the page
+Quote Post
em1X
post
Post #5





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


jasne, ze dobre.. co do tego twojego losowego hasla:

  1. <?php
  2. function uid($len)
  3. {
  4. return substr(md5(microtime()), 0, $len);
  5. }
  6. ?>


szybsze wiec lepsze (na studiach uczyli mnie, zeby w miare mozliwosci unikac modulo %)
Go to the top of the page
+Quote Post

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: 18.12.2025 - 23:09