Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Problem z funkcją MAIL, invalid recipient
Musashi
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 19.11.2004
Skąd: Witnica, lubuskie

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


Witam.
Przerabiam książkę "Dynamiczne strony WWW php i MySQL" z Heliona i utknąłem pod koniec 3-ciego rozdziału.
Mam skrypt:
  1. <?php # Skrypt 3.15 - rejestracja.php
  2.  
  3. if (isset($_POST['submit'])) { // Obsluż formularz.
  4.  
  5. $message = NULL; // Utworz nową, pustą zmienną.
  6.  
  7. // Sprawdź nazwisko.
  8. if (strlen($_POST['name']) > 0) {
  9. $name = TRUE;
  10. } else {
  11. $name = FALSE;
  12. $message .= '<p>Zapomniałeś podać swoje nazwisko!</p>';
  13. }
  14.  
  15. // Sprawdź adres e-mail.
  16. if (strlen($_POST['email']) > 0) {
  17. $email = TRUE;
  18. } else {
  19. $email = FALSE;
  20. $message .= '<p>Zapomniałeś podać swój adres e-mail!</p>';
  21. }
  22.  
  23. // Sprawdź nazwę użytkownika.
  24. if (strlen($_POST['username']) > 0) {
  25. $username = TRUE;
  26. } else {
  27. $username = FALSE;
  28. $message .= '<p>Zapomniałeś wprowadzić nazwę użytkownika!</p>';
  29. }
  30.  
  31. // Sprawdź czy użytkownik wprowadził hasło i czy w obu polach jest ono takie samo.
  32. if (strlen($_POST['password1']) > 0) {
  33. if ($_POST['password1'] == $_POST['password2']) {
  34. $password = TRUE;
  35. } else {
  36. $password = FALSE;
  37. $message .= '<p>Za drugim razem wpisałeś inne hasło!</p>';
  38. }
  39. } else {
  40. $password = FALSE;
  41. $message .= '<p>Zapomniałeś wprowadzić hasło!</p>';
  42. }
  43.  
  44. if ($name && $email && $username && $password) { // Jezeli wszystko jest OK.
  45. // Zarejestruj uzytkownika.
  46.  
  47. // Wyslij maila.
  48. $body = "Dziękujemy za zarejestrowanie się na naszej stronie!nTwoja nazwa użytkownik
    a to '{$_POST['username']}' a Twoje hasło to '{$_POST['password1']}'.nnZ poważaniem,nMy"
    ;
  49. mail ($_POST['email'], 'Dziekujemy za zarejestrowanie sie!', $body, 'From: admin@localhost');
  50. header ('Location: dziekujemy.php');
  51. exit();
  52. } else {
  53. $message .= '<p>Wróć do formularza i spróbuj jeszcze raz.</p>';
  54. }
  55.  
  56. }
  57.  
  58. // Ustaw tytul strony i naglowek HTML.
  59. $page_title = 'Zarejestruj się!';
  60. include ('./naglowek.inc');
  61.  
  62. // Jezeli jest jakis komunikat o bledzie, wyswietl go na stronie
  63. if (isset($message)) {
  64. echo '<font color="red">', $message, '</font>';
  65. }
  66. ?>
  67.  
  68. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  69. <fieldset><legend>Wprowadź do poniższego formularza informacje na swój temat:</legend>
  70.  
  71. <p><b>Nazwisko:</b> <input type="text" name="name" size="20" maxlength="40" value="<?php if (isset($_POST['name'])) echo $_POST['name']; ?>" /></p>
  72.  
  73. <p><b>Adres e-mail:</b> <input type="text" name="email" size="40" maxlength="60" value="<?php if (isset($_POST['email'])) echo $_POST['email']; ?>" /> </p>
  74.  
  75. <p><b>Nazwa użytkownika:</b> <input type="text" name="username" size="20" maxlength="40" value="<?php if (isset($_POST['username'])) echo $_POST['username']; ?>" /></p>
  76.  
  77. <p><b>Hasło:</b> <input type="password" name="password1" size="20" maxlength="40" /></p>
  78.  
  79. <p><b>Potwierdź hasło:</b> <input type="password" name="password2" size="20" maxlength="40" /></p>
  80. </fieldset>
  81.  
  82. <div align="center"><input type="submit" name="submit" value="Wyślij dane" /></div>
  83.  
  84. </form><!-- Koniec formularza -->
  85.  
  86. <?php
  87. include ('./stopka.inc'); // Dołącz stopkę HTML.
  88. ?>


Po wypełnieniu danych we formularzu i próbie wysłania otrzymuję następujący błąd:
Kod
Warning: mail() [function.mail]: SMTP server response: 550 Invalid recipient: mail@onet.pl in c:\usr\krasnal\www\dyn\rejestracja.php on line 49

Warning: Cannot modify header information - headers already sent by (output started at c:\usr\krasnal\www\dyn\rejestracja.php:49) in c:\usr\krasnal\www\dyn\rejestracja.php on line 50


Skrypt dokładnie sprawdziłem i jest taki sam jak w książce. Poza tym znalazłem przykłady do tej książki na serwerze Heliona i wkleiłem oryginalny. Ciągle taki sam błąd.
W opisie skryptu autor książki podał informację, że w przypadku problemów może coś być nie tak w pliku php.ini. Używam Krasnala i nie wiem o który plik php.ini chodzi. Jeden jest w katalogu Windowsa, drugi w c:\usr\php, trzeci w c:\usr\php5, czwarty w c:\usr\ini\php\5. OK, otwarłem ten z katalogu c:\windows i są tam następujące informacje:
Kod
[mail function]
; For Win32 only.
SMTP =localhost

; For Win32 only.
sendmail_from =admin@localhost

; For Unix only.  You may supply arguments as well (default: 'sendmail -t -i').
;sendmail_path =

Naprawdę nie wiem co może być przyczyną, że jestem informowany o nieprawidłowym odbiorcy w funkcji MAIL i że nagłówki już zostały wysłane.

Pozdrawiam,
Krzysiek

Ten post edytował Musashi 25.10.2006, 15:10:29
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 - 05:25