Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Problem z funkcją mail
Forum PHP.pl > Forum > Przedszkole
matkuz
Wysyłam email do kilku odbiorców i nie wiem gdzie jest błąd, już siedzę drugi dzień nad tym...

  1. <?php
  2. if(isset($_POST) && $_POST['akcja'] == 'wysylanie-formularza'){
  3.  
  4. $name = $_POST['imie'];
  5. $email = $_POST['email'];
  6. $weddingPlace = $_POST['miejsce-slubu'];
  7. $partyPlace = $_POST['miejsce-przyjecia'];
  8. $service = $_POST['nazwa'];
  9. $content = $_POST['tresc'];
  10. $zbior = $_POST['zbior'];
  11.  
  12. foreach($zbior as $klucz => $solo)
  13. {
  14. $to .= $solo.', ';
  15. }
  16. $to = substr_replace($to, "", -2);
  17.  
  18. $validate = true;
  19. $validateEmit = '[';
  20.  
  21. if(!empty($name)){
  22. if(strlen($name) <= 1){
  23. $validate = false;
  24. $validateEmit .= '{"field":"imie","emit":"Zbyt krótkie imie"},';
  25. }
  26. }else{
  27. $validate = false;
  28. $validateEmit .= '{"field":"imie","emit":"Proszę podać swoje imie"},';
  29. }
  30.  
  31. if(!empty($email)){
  32. if((filter_var($email,FILTER_VALIDATE_EMAIL) === false)){
  33. $validate = false;
  34. $validateEmit .= '{"field":"email","emit":"Podany adres email jest nieprawidłowy"},';
  35. }
  36. }else{
  37. $validate = false;
  38. $validateEmit .= '{"field":"email","emit":"Proszę podać swój adres e-mail"},';
  39. }
  40.  
  41. if(!empty($content)){
  42. if(strlen($content) <= 5){
  43. $validate = false;
  44. $validateEmit .= '{"field":"tresc","emit":"Zbyt krótka treść wiadomości"},';
  45. }
  46. }else{
  47. $validate = false;
  48. $validateEmit .= '{"field":"tresc","emit":"Proszę wpisać treść wiadomości"},';
  49. }
  50.  
  51. $validateEmit = rtrim($validateEmit,',').']';
  52.  
  53. if($validate == true){
  54. echo '{"success":"Wiadomość została wysłana!"}';
  55. $subject = 'Zapytanie wysłane poprzez formularz kontaktowy';
  56.  
  57. $headers = "From: " . strip_tags($email) . "\r\n";
  58. $headers .= "Reply-To: ". strip_tags($email) . "\r\n";
  59. $headers .= "CC: jakisemail.pl\r\n";
  60. $headers .= "MIME-Version: 1.0\r\n";
  61. $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
  62.  
  63. $message = '<html><body>';
  64. if(!empty($service)){
  65. foreach($service as $srv){
  66. $message .= $srv.', ';
  67. }
  68. }
  69. $message .= '</p>-------------<br />';
  70. $message .= '<p>'.$content.'</p>';
  71. $message .= '</body></html>';
  72.  
  73. if(mail($to,$subject,$message,$headers) != 0)
  74. { echo '{"success":"Wiadomość została wysłana!"}'; }
  75. }else{
  76. echo $validateEmit;
  77. }
  78.  
  79. }else{
  80. echo '[{"emit":"Error"}]';
  81. }
  82. echo '<!--CUT-->';
  83. ?>


form:
  1. <form action="index.php" method="post" id="formularz-kontaktowy">
  2. <div class="checkbox checkbox2">
  3. <div class="pole">
  4. <label class="myCheckbox">
  5. <input type="checkbox" name="zbior[]" value="email@gmail.com" checked="checked" />
  6. <span></span>
  7. </label>
  8. <span class="opis">Mariusz Wacławiak</span>
  9. </div>
  10. <div class="pole">
  11. <label class="myCheckbox">
  12. <input type="checkbox" name="zbior[]" value="fotoC@fotoC.pl" checked="checked" />
  13. <span></span>
  14. </label>
  15. <span class="opis">Fotograf C</span>
  16. </div>
  17. <div class="pole">
  18. <label class="myCheckbox">
  19. <input type="checkbox" name="zbior[]" value="mattdj@poczta.fm" checked="checked" />
  20. <span></span>
  21. </label>
  22. <span class="opis">Popielarz Łukasz</span>
  23. </div>
  24. <div class="pole">
  25. <label class="myCheckbox">
  26. <input type="checkbox" name="zbior[]" value="fotoE@fotoe.pl" checked="checked" />
  27. <span></span>
  28. </label>
  29. <span class="opis">Foto E</span>
  30. </div>
  31.  
  32. </div> <!--end of checkbox-->
  33. <input name="imie" type="text" placeholder="Imię" data-validation="required" />
  34. <input name="email" type="text" placeholder="E-mail" data-validation="email" />
  35. <div style="clear:both;"></div>
  36. <input name="miejsce-slubu" type="text" placeholder="Miejsce ślubu" />
  37. <input name="miejsce-przyjecia" type="text" placeholder="Miejsce przyjęcia" />
  38. <div style="clear:both;"></div>
  39. <div class="checkbox">
  40. <span>Zaznacz usługi:</span>
  41. <div class="pole">
  42. <label class="myCheckbox">
  43. <input type="checkbox" name="nazwa[]" value="plener" />
  44. <span></span>
  45. </label>
  46. <span class="opis">plener</span>
  47. </div>
  48. <div class="pole">
  49. <label class="myCheckbox">
  50. <input type="checkbox" name="nazwa[]" value="przygotowania" />
  51. <span></span>
  52. </label>
  53. <span class="opis">przygotowania</span>
  54. </div>
  55. <div class="pole">
  56. <label class="myCheckbox">
  57. <input type="checkbox" name="nazwa[]" value="ceremonia" />
  58. <span></span>
  59. </label>
  60. <span class="opis">ceremonia</span>
  61. </div>
  62. <div class="pole">
  63. <label class="myCheckbox">
  64. <input type="checkbox" name="nazwa[]" value="przyjecia" />
  65. <span></span>
  66. </label>
  67. <span class="opis">przyjęcia</span>
  68. </div>
  69. </div> <!--end of checkbox-->
  70.  
  71. <textarea placeholder="Tutaj wpisz treść wiadomości" name="tresc" data-validation="required"></textarea>
  72. <input type="hidden" name="akcja" value="wysylanie-formularza" data-validation="required" />
  73. <input type="submit" value="wyślij zgłoszenie" />
  74. </form>


Naprawdę nie wiem co robię źle.. smile.gif
Tuminure
Byłoby prościej, gdybyś również opisał co się dzieje i jaki błąd otrzymujesz.
fate
14 linijka na początek wywaliłbym spacje

  1. $to .= $solo.',';
matkuz
Poprawiłem ale nadal to samo... czyli

Otrzymuje wiadomość: ,,Wiadomość została wysłana!" ale nic nie pojawia się w mailu...

Chcę po prostu wysłać email do wielu odbiorców lub do jednego... zależy ile wybiorę z checkboxa o nazwie zbior[].

Ktoś, coś?

f5

Refresh ;p Mogę zlecić komuś, aby tylko to poprawił.. ;p

Ważna informacja : to działa na serwerze home.pl a z tego co widzę to mają tam jakieś dodatkowe zabezpieczenia. Ktoś pomoże?
fate
po ucieciu spacji tez to do zmiany
$to = substr_replace($to, "", -2);
na
$to = substr_replace($to, "", -1);

z tym że w manualu jest przykład ze spacja wiec to raczej zły kierunek
b4rt3kk
Cytat(matkuz @ 22.05.2015, 09:50:25 ) *
Poprawiłem ale nadal to samo... czyli

Otrzymuje wiadomość: ,,Wiadomość została wysłana!" ale nic nie pojawia się w mailu...

Chcę po prostu wysłać email do wielu odbiorców lub do jednego... zależy ile wybiorę z checkboxa o nazwie zbior[].

Ktoś, coś?

f5

Refresh ;p Mogę zlecić komuś, aby tylko to poprawił.. ;p

Ważna informacja : to działa na serwerze home.pl a z tego co widzę to mają tam jakieś dodatkowe zabezpieczenia. Ktoś pomoże?


Próbowałeś wysłać testowo maila, bez obudowywania funkcji w skrypt? Po prostu:

  1. mail('moj_adres@mail.com', 'Test', 'Test');


Jeśli to pójdzie to wtedy znaczy, że na serwerze wszystko jest ok, tylko Twój skrypt jest błędny.
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.