Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]Nie dochodzi formularz
Forum PHP.pl > Forum > Przedszkole
cheschire_kotek
Witam,

napisałem prostą stronę/galerie w html. Chciałbym dać możliwość składania zamówienia nie za pomocą programu pocztowego a prosto z formularza na stronie. Proszę o pomoc, czemu nie dochodzi mi do skrzynki pocztowej taki przykładowy formularz:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2"/>
  4. <title>formularz php</title>
  5. </head>
  6. <form action="contact.php" method="post">
  7. <p>Imie i nazwisko</p>
  8. <input name="tresc"/>
  9. <input type="submit">
  10. </form>
  11. </body>
  12. </html>


skrypt contact.php
  1. <?php
  2. $to = "info@glinaidrewno.pl";
  3. $subject = "Zamowienie";
  4. $tresc = $_REQUEST['tresc'];
  5. $sent = mail($to, $subject, $tresc);
  6. if ($sent)
  7. {print "Wiadomosc doszla"; }
  8. else
  9. {print "probuj dalej"; }
  10. ?>

Dziękuję z góry,
Tomek
Ravik
Po pierwsze:

Kod
<form action="contact.php" method="post">
<p>Imie i nazwisko</p>
<input name="tresc">
<input type="submit" value="Wyslij" name="submit">


contact.php
  1. <?php
  2.  
  3. if (!empty($_POST['submit'])) { // sprawdza czy formularz został wysłany
  4.  
  5. $to = "info@glinaidrewno.pl";
  6. $subject = "Zamowienie";
  7. $tresc = $_POST['tresc'];
  8. $sent = mail($to, $subject, $tresc);
  9.  
  10.    if ($sent) {
  11. print "Wiadomosc doszla";
  12. }
  13. else {
  14. print "probuj dalej";
  15. }
  16. }
  17. ?>


Nie sprawdzałem, ale powinno działać. Jeżeli nie to dodaj @ przed mail.
cheschire_kotek
Z zaproponowanymi zmianami i @mail niestety wciąż nie dochodzi sad.gif
behu
wyświetla jakiś błąd czy po prostu mail nie dochodzi (może jako spam)?

najlepiej poszukaj informacji o klasie phpmailer
cheschire_kotek
w sprawie błędu zrobiłem tyle, że raz wrzuciłem w contact.php dodatkowo raport o błędzie, który znalazłem na forum
  1. <?php
  2. ini_set('display_errors', 1);
  3.  
  4. if (!empty($_POST['submit'])) { // sprawdza czy formularz został wysłany
  5.  
  6. $to = "info@glinaidrewno.pl";
  7. $subject = "Zamowienie";
  8. $tresc = $_POST['tresc'];
  9. $sent = mail($to, $subject, $tresc);
  10.  
  11.   if ($sent) {
  12. print "Wiadomosc doszla";
  13. }
  14. else {
  15. print "probuj dalej";
  16. }
  17. }
  18. ?>

Błędu nie pokazał, tylko że Wiadomosc doszla. Mail po prostu nie dochodzi. Jeśli chodzi o klase phpmailer, wyglada mi to na narzędzie dla wymagających, a mi zależy tylko na wysłaniu prostego formularza z serwera na pocztę na tym samym serwerze.
viking
A jak tam konfiguracja serwera? Jesteś na jakimś hostingu czy sam konfigurowałeś maszynę? Może nie ma SPF. Skoro wyświetla poprawnie znaczy że nie ma błędu po stronie PHP. A zewnętrzne klasy i tak warto stosować choćby dlatego że mogą automatycznie ustawić nagłówki. Oprócz tego zabezpiecz treść.
Ravik
Dowiedz się czy masz włączoną funkcję mail na serwerze, skrypt działa na 100% dobrze. Jeżeli nie to poproś administratora żeby włączył tę funkcję, jeżeli nie to zmień serwer. Jest bardzo dużo darmowych hostingów na których ta opcja jest włączona, bo właściwie to standard.
cheschire_kotek
Jestem na hostingu(netlook.pl), serwera nie potrafie konfigurować. Nie wiem, jak wygląda zabezpieczenie serwera smpt. Pogadam z administratorem, tyle że wysyłałem formularz na inne adresy np na hotmaila i też nic. Może popełniam jakiś elementary błąd? Skrypt ma rozszerzenie .php, jest w tym samym katalogu co pliki html. Jeżeli chodzi o php, to bliżej mi do żłobka niż przedszkola smile.gif
Ravik
Jeszcze mam pytanie. Czy po kliknięciu przycisku "Wyslij" pojawia Ci się komunikat "Wiadomosc doszla" czy "probuj dalej" ?

Jeżeli "Wiadomosc doszła" tzn. że masz coś nie tak ze skrzynką email, jeżeli "próbuj dalej" to błąd jest po stronie serwera, bo skrypt działa na 100% dobrze.
cheschire_kotek
Pojawia sie Wiadomosc doszła. Ravik czy mógłbyś podać swój adres, testowo wysłałbym formularz do Ciebie?
Ravik
http://relaks.lublin.pl/form/ - formularz jest zaadresowany do ciebie
cheschire_kotek
wielkie dzięki biggrin.gif działa!!
tak ale to twoje działa, a ja wciąż nie wiem czemu moje nie działa
Ravik
$_REQUEST - odbiera zmienne obojętnie skąd, a dane przesyłasz metodą POST, więc pasowałoby odebrać ją taką samą metodą $_REQUEST też teoretycznie powinno działać, ale w tego typu formularzach raczej się tego nie stosuje.

Skrypt który masz tutaj na forum działa 100%, wina jest równie pewnie po stronie serwera.

Pozdrawiam,
Ravik
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.