Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] mail();
Forum PHP.pl > Forum > PHP
anr
Witam, napisałem sobie formularz kontaktowy.
Normalnie wysyła maile jak miałem kilka pozycji $tresc , $kontakt , $imie itp.

Przerobiłem go na większy formularz, który ma działać tak samo, tylko ma inne ciekawe pola do wypełnienia, znajomy prowadzi biuro doradztwa i chciał właśnie formularz w takiej formie : www.anrstudio.com/adf/formularz
Tutaj zaczyna się problem.

Formularz został przerobiony, a co z tym idzie - przestał wysyłać maile.
Nie wywala błędu, wygląda na to, że wiadomość została wysłane - ale nie dochodzi.

Może ktoś z was znajdzie jakiś błąd, albo powie co robię źle ?

Podgląd : www.anrstudio.com/adf/formularz

Forma w PHP :
  1. <?php
  2.  
  3. if(isset($_POST['imie_nazw']))
  4. {
  5. $komunikat='Error';
  6. $adres="m_marchew@o2.pl";
  7.  
  8. $charset = 'iso-8859-2';
  9. $temat="Obliczanie OC www.adf.com.pl";
  10.  
  11. $jakieauto=strip_tags($_POST['auto']);
  12. $marka=strip_tags($_POST['marka']);
  13. $model=strip_tags($_POST['model']);
  14. $pojemnosc=strip_tags($_POST['pojemnosc']);
  15. $wiek=strip_tags($_POST['wiek']);
  16. $pierwszarej=strip_tags($_POST['irej']);
  17. $osob=strip_tags($_POST['miejsca']);
  18. $wykorzystanie=strip_tags($_POST['wykorzystanie']);
  19.  
  20. $durodz=strip_tags($_POST['urodz']);
  21. $prawko=strip_tags($_POST['prawko']);
  22. $dzieci=strip_tags($_POST['dzieci']);
  23. $nazwa2=strip_tags($_POST['nazwa2']);
  24. $nazwa3=strip_tags($_POST['nazwa3']);
  25. $poczta=strip_tags($_POST['poczta']);
  26. $wspolwlasciciel=strip_tags($_POST['wspolwlasciciel']);
  27. $nazwa4=strip_tags($_POST['nazwa4']);
  28. $nazwa5=strip_tags($_POST['nazwa5']);
  29. $nazwa6=strip_tags($_POST['nazwa6']);
  30. $nazwa7=strip_tags($_POST['nazwa7']);
  31. $nazwa8=strip_tags($_POST['nazwa8']);
  32. $nazwa9=strip_tags($_POST['nazwa9']);
  33. $nazwa10=strip_tags($_POST['nazwa10']);
  34. $nazwa11=strip_tags($_POST['nazwa11']);
  35. $zawod=strip_tags($_POST['zawod']);
  36.  
  37. $znizka=strip_tags($_POST['znizka']);
  38. $czyuszkodzil=strip_tags($_POST['czyuszkodzil']);
  39.  
  40. $tresc=strip_tags($_POST['wiadomosc']);
  41.  
  42. if(empty($tresc))
  43. {
  44. $komunikat='Wypełnij wszystkie obowiązkowe pola.';
  45.  
  46. }
  47. else
  48. {
  49. $tresc="Wiadomość ze strony ADF Doradcy Ubezpieczeniowi - <b> Kalkulator OC </b><br /><br />
  50. <b>Dane Pojazdu</b><br /><br />
  51.  
  52. <b>Rodzaj pojazdu</b>: ".$jakieauto.".<br />
  53. <b>Marka</b>: ".$marka.".<br />
  54. <b>Model</b>: ".$model.".<br />
  55. <b>Pojemność silnika</b>: ".$pojemnosc.".<br />
  56. <b>Rok produkcji</b>: ".$wiek.".<br />
  57. <b>Data pierwszej rejestracji</b>: ".$pierwszarej.".<br />
  58. <b>Ilość miejsc</b>: ".$osob.".<br />
  59. <b>Sposób wykorzystania</b>: ".$wykorzystanie.".<br /><br />
  60.  
  61. <b>Dane Właściciela</b><br /><br />
  62.  
  63. <b>Data urodzenia</b>: ".$durodz.".<br />
  64. <b>Data wydania prawa jazdy</b>: ".$prawko.".<br />
  65. <b>Wiek najmlodszego dziecka</b>: ".$nazwa2.".<br />
  66. <b>Wiek najstarszego dziecka</b>: ".$nazwa3.".<br />
  67. <b>Kod pocztowy</b>: ".$poczta.".<br />
  68. <b>Data urodzenia współwłaściciela</b>: ".$nazwa4.".<br />
  69. <b>Data wydania prawajazdy współwłaściciela</b>: ".$nazwa5.".<br />
  70. <b>Wiek najmłodszego dziecka współwłaściciela</b>: ".$nazwa7.".<br />
  71. <b>Wiek najstarszego dziecka współwłaściciela</b>: ".$nazwa8.".<br />
  72. <b>Wiek najmłodszego współużytkownika pojazdu</b>: ".$nazwa10.".<br />
  73. <b>Data wydania prawa jazdy w/w</b>: ".$nazwa11.".<br />
  74. <b>Klient jest rolnikiem</b>: ".$zawod.".<br /><br />
  75.  
  76. <b>Zniżki za bezszkodliwość</b><br /><br />
  77.  
  78. <b>Zniżka za brak szkód w latach</b>: ".$znizka.".<br />
  79. <b>Czy współwłaściciel miał stłuczkę</b>: ".$czyuszkodzil.".<br /><br />
  80.  
  81. <b>Dane Kontaktowe</b><br /><br />
  82. <b>Kontakt</b>: ".$tresc.".";
  83.  
  84.  
  85. $header = "From: ADF Ubezpieczenia \nContent-Type:".
  86. "text/html;charset=utf-8\n".
  87. "\n";
  88.  
  89. if(function_exists('mail'))
  90. {
  91. if(mail($adres, $temat, $tresc,$header))
  92. {
  93. $komunikat='E-MAIL wysłany pomyślnie.';
  94. }
  95.  
  96. }
  97. else
  98. {
  99. $komunikat='Wystąpił błąd podczas wysyłania wiadomości';
  100. }
  101. }
  102.  
  103. }
  104.  
  105. ?>
gigzorr
http://php.net/manual/en/function.mail.php

max5 jesli sie nie myle.
anr
To jak zrobić formularz kontaktowy, na więcej pól ?
nospor
Cytat
max5 jesli sie nie myle.
czego max5 ?

@anr dodaj sobie na samym początku skryptu:
  1. ini_set('display_errors','1');

Nadal żadne błędy nie lecą?
anr
@up, dodałem i dalej tak jakby wysyła maila, bo otwiera i przerzuca mnie do " contact.php " czyli z indexu formularza na plik skryptu do wysyłania.
Wyświetla pustą stronę ( tak jak po poprawnym wysłaniu maila wcześniej )

W wersji początkowej na samym dole skryptu miałem jeszcze " Mail wyslany poprawnie " i Metę z przekierowaniem po 2 sec do /kontakt.html.
Teraz te informację i przekierowanie wywaliłem, więc wyświetla tylko pustą stronę.
Jednak mail i tak nie doszedł ...

a koledze chodziło chyba, że w function.mail maksymalnie można użyć 5 i nie więcej okien .$nazwa.
tehaha
może spróbuj ustawić nagłówek From: nazwa@domena.pl, http://php.net/manual/en/function.mail.php , kiedyś na jednym serwerze spotkałem się z sytuacją, że jeżeli nie było tego nagłówka lub nie był poprawną nazwą e-mail, to funkcja mail() nie wysyłała wiadomości

edit// teraz doczytałem, że w prostszej formie działał, czyli jak wykasujesz większość tych pól to działa normalnie?
anr
Nagłówek " From : " nie wpływa w żaden sposób na działanie, bo wcześniej wpisywałem tam treści testowe, potem maile, a na koniec aktualną treść i za każdym razem wysyłało i działało dobrze.
Później właśnie dodałem kolejne pola i przestało wysyłać.

na http://anrstudio.com/adf/formularz/ - gdzie jest więcej pól nie wysyła w ogóle.
na http://anrstudio.com/ads/index.php?id=Kontakt - jest ten sam formularz tylko z kilkoma najważniejszymi polami - i wysyła poprawnie.
nospor
pokaz jak wyglada kod php tego co dziala. Moze jakiś glupi blad zrobiles i trudno go dostrzec
anr
  1. <?php
  2.  
  3. if(isset($_POST['imie_nazw']))
  4. {
  5. $komunikat='';
  6. $adres="anaruku@o2.pl";
  7.  
  8. $charset = 'iso-8859-2';
  9. $temat="Dane z Formularza KONTAKT www.adf.com.pl";
  10. $imie=strip_tags($_POST['imie_nazw']);
  11. $firm=strip_tags($_POST['firma']);
  12. $miejsc=strip_tags($_POST['miejscowosc']);
  13. $mail=strip_tags($_POST['mail']);
  14. $tel=intval($_POST['tel']);
  15. $tresc=strip_tags($_POST['wiadomosc']);
  16. if(empty($imie) || empty($mail) || empty($tel) || empty($tresc))
  17. {
  18. $komunikat='Wypełnij wszystkie obowiązkowe pola.';
  19.  
  20. }
  21. else
  22. {
  23. $tresc="<b>Imie i Nazwisko </b>: ".$imie.".<br />
  24. <b>Skad</b>: ".$firm." ".$miejsc.".<br />
  25. <b>Mail</b>: ".$mail.".<br />
  26. <b>Tel</b>: ".$tel.".<br /><br />
  27. <b>Wiadomosc</b>: ".$tresc.".";
  28.  
  29. $header = "From: ADF Ubezpieczenia \nContent-Type:".
  30. "text/html;charset=utf-8\n".
  31. "\n";
  32.  
  33. if(function_exists('mail'))
  34. {
  35. if(mail($adres, $temat, $tresc,$header))
  36. {
  37. $komunikat='E-MAIL wysłany pomyślnie.';
  38. }
  39.  
  40. }
  41. else
  42. {
  43. $komunikat='Wystąpił błąd podczas wysyłania wiadomości';
  44. }
  45. }
  46.  
  47. }
  48.  
  49. ?>
  50.  
  51. <META HTTP-EQUIV=Refresh CONTENT="1; URL=index.php?id=Kontakt">
  52. Wiadomość wysłana poprawnie.
nospor
W tym dużym formie nie widzę byś odbierał:
$imie=strip_tags($_POST['imie_nazw']);
które to odbierasz w tym krótkim.

Dałeś wogole w tym dużym pole o nazwie "imie_nazw" ? Bo jesli nie dales to warunek:
if(isset($_POST['imie_nazw']))
nigdy sie nie spelni winksmiley.jpg
anr
Boże, pięknie ! smile.gif

To teraz pytanie, pomimo charset'u 'iso-8859-2' i 'utf-8' po wypełnieniu formularza nie mam polskich znaków.
Plik ze skryptem mam zapisany w utf-8 i nagłówki są z polskimi znakami, ale wypełnienie formularza już nie koniecznie. : )
nospor
Cytat
pomimo charset'u 'iso-8859-2' i 'utf-8'
No ale chyba nie jednoczesnie? winksmiley.jpg

A kodowanie dla strony też ustawiles? Kodowanie dla strony ma byc takie samo jak kodowanie dla maila
anr
Oczywiście strona wraz z mailem ma utf-8 i pliki są zapisane w utf-8 ...
raz wyśle z polskimi znakami, raz nie winksmiley.jpg


Edit : ahhh miałem błąd zabrakło mi apostrofu po utf-8 i dlatego nie śmigało - już są polskie znaki smile.gif
Dziękuję za pomoc wszystkim ;* jednak pomógł dostaje tylko jeden co na prawdę trafił w problem - dzięki smile.gif
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.