Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Problem z formularzem
Forum PHP.pl > Forum > Przedszkole
lukash82
Witam. Mam taki maly problemik z formularzem. Kod wyglada tak:
  1. <?php
  2. if (empty($_POST['submit']))
  3. { 
  4. ?>
  5. <form method="post">
  6. Imie<input type="text" name="imie"><br />
  7. Email<input type="text" name="email"><br />
  8. Tresc<textarea name="tresc"></textarea> <br />
  9. <input type="submit" name="submit" value="Wyslij" />
  10. </form>
  11. <?php
  12. }
  13. elseif (!empty($_POST['imie']) && !empty($_POST['email']) && !empty($_POST['tresc'])) 
  14. {
  15. $adresat = 'mail@poczta.pl';
  16. $temat = 'Wiadomosc ze strony www';
  17. $tresc_wiadomosci = $_POST['tresc'];
  18. $od_kogo = $_POST['email'];
  19. @mail($adresat,$temat,$tresc_wiadomosci,$od_kogo) or die('Nie udało się wysłać wiadomości');
  20. echo "Wiadomość została wysłana poprawnie!";
  21. }
  22. else 
  23. echo "Wypełnij wszystkie pola formularza!";
  24. ?>

Kod wyglada wedlug mnie dobrze. Po wyslaniu nie wywala bledow i teoretycznie wiadomosc powinna dojsc na zadeklarowanego maila. Niestety jednak maile nie dochodza... Funkcja mail() na serwerze jest wlaczona i do tego skrypcik testowalem jeszcze na innym serwerze u kolegi. Tez nie dziala... Moze jest w tym jakis blad, ktorego nie widze... Jesli takowy widzicie to dajcie znac bo juz sam nie wiem co mam o tym myslec. Pozdrawiam, Łukasz.
qqrq
Wywal tą małpę z linii 19. To "głuszy" błędy. Może to pomoże...
kossa
Tak jak napisał @qqrq usuń znak @ z przed funkcji mail - dzięki temu będziesz mógł testować swoje skrypty a jak juz wszystko działa to wtedy możesz wrócić do małpy

Wracając do Twojego kodu to jest w nim błąd bo funkcja mail" title="Zobacz w manualu PHP" target="_manual ma 3 parametry podstawowe, a ostatnio 4 to nagłówki, zatem tak zadziała:

  1. <?php
  2. mail($adresat,$temat,$tresc_wiadomosci);
  3. ?>


Jeśli chcesz dodać od kogo FROM to użyj nagłówków, które zdefiniuj oddzielnie bo jest ich sporo - jak to zrobić - w przykładach w manualu masz wszystko a na forum w polu szukaj wpisz mail.


Łukasz
lukash82
Witam ponownie. Dzieki za pomoc. Nie wiem czemu ale formularz sam zaczal dzialac bez zadnych zmian, tzn. wszystkie maile przyszly jakos po 5-6 godzinach od wyslania. Teraz juz dziala bez zarzutu i maile dochodza po paru minutach. Poprawilem jednak co nieco i teraz dzialajaca wersja wyglada tak:
  1. <?php
  2. $message = "$_POST[tresc]";
  3. $header = "From: $_POST[imie] <$_POST[email]>";
  4. @mail("mail@poczta.fm","Zamowienie","$message","$header") or die('Nie udało się wysłać zamówienia');
  5. echo "Zamówienie zostało przyjęte! Dziękujemy!";
  6. ?>

Pozdrawiam, Łukasz
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.