Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Formularz phpmailer blokowanie wysyłanie maila
Forum PHP.pl > Forum > Przedszkole
tomi lee
Przygotowałem formularz do wysyłania zapytań - formularz.html. Korzystam z PHPmailer'a do wysyłania maili, a do walidacji skryptu jQuery.validationEngine. Wszystko działa poprawnie, ale po wywołaniu strony moja.strona/send.php zostaje wysłany mail z pustymi polami. Chciałbym tego uniknąć i "zablokować" taką możliwość. Proszę o pomoc w modyfikacji skryptu.


formularz.html

  1.  
  2. <script type="text/javascript">
  3. jQuery(document).ready( function() {
  4.  
  5. jQuery("#formID").validationEngine();
  6. });
  7. </script>
  8. <title>Formularz kontaktowy</title>
  9. </head>
  10. <form id="formID" class="formular" method="post" action="send.php">
  11. <legend>Imię i nazwisko*</legend>
  12. <input value="" class="validate[required] text-input" type="text" name="name" id="name" />
  13. </label>
  14. <legend>E-mail*</legend>
  15. <input value="" class="validate[required,custom[email]] text-input" type="text" name="email" id="email" />
  16. </label>
  17. <legend>Telefon*</legend>
  18. <input value="" class="validate[required,custom[phone]] text-input" type="text" name="phone" id="phone" />
  19. </label>
  20. <legend>Nazwa firmy</legend>
  21. <input value="" class="text-input" type="text" name="company" id="company" />
  22. </label>
  23. <legend>Miasto*</legend>
  24. <input value="" class="validate[required] text-input" type="text" name="city" id="city" />
  25. </label>
  26. <legend>Kod pocztowy*</legend>
  27. <input value="" class="validate[required] text-input" type="text" name="postcode" id="postcode" />
  28. </label>
  29. <legend>Treść zapytania*</legend>
  30. <div class="infos">Proszę wpisać treść zapytania</div>
  31. <textarea class="validate[required] text-input" name="comment" id="comment" rows="10" cols="57"></textarea>
  32. </label>
  33. <legend>Akceptacja*</legend>
  34. <div class="infos">Wyrażam zgodę ...</div>
  35. <input class="validate[required] checkbox" type="checkbox" id="agree" name="agree" value="TAK"/>
  36. </label>
  37. <legend>Newsletter</legend>
  38. <div class="infos">Zgadzam się na otrzymywanie....</div>
  39. <input class="checkbox" type="checkbox" id="newsletter" name="newsletter" value="TAK"/>
  40. </label>
  41. <input class="submit" type="submit" value="Sprwadź i wyślij zapytanie!"/>
  42. </form>
  43.  


send.php
  1. <?php
  2. require("forms/phpmailer/class.phpmailer.php");
  3.  
  4. $mail = new PHPMailer();
  5. $mail->IsMail();
  6. $mail->IsHTML(true);
  7. $mail->ContentType = 'text/html';
  8. $mail->CharSet = 'utf-8';
  9. $mail->Encoding = '8bit';
  10. $mail->AddAddress("xx@xx");
  11. $mail->Subject = "Zapytanie WWW";
  12. $mail->FromName = ($_POST['name']);
  13. $mail->From = ($_POST['email']);
  14. $plik=fopen("forms/zap_www_l.txt", "r");
  15. $licznik=fgets($plik);
  16. fclose($plik);
  17. $licznik++;
  18. $plik=fopen("forms/zap_www_l.txt", "w");
  19. fwrite($plik, $licznik);
  20. fclose($plik);
  21. $text_body = 'Zapytanie nr: <strong>WWW/'.date("d/m/Y").'/'.$licznik.'</strong><br /><br />';
  22. $text_body .= 'Imię i nazwisko: <strong>'.$_POST['name'].'</strong><br />';
  23. $text_body .= 'Nazwa firmy: <strong>'.$_POST['company'].'</strong><br />';
  24. $text_body .= 'E-mail: <strong>'.$_POST['email'].'</strong><br />';
  25. $text_body .= 'Telefon: <strong>'.$_POST['phone'].'</strong><br />';
  26. $text_body .= 'Miasto: <strong>'.$_POST['city'].'</strong><br />';
  27. $text_body .= 'Kod pocztowy: <strong>'.$_POST['postcode'].'</strong><br />';
  28. $text_body .= 'Treść zapytania:<br /><strong>'.$_POST['comment'].'</strong><br /><br />';
  29. $text_body .= 'Wyrażam zgodę... <br />- <strong>'.$_POST['agree'].'</strong> -<br /><br />';
  30. $text_body .= 'Zgadzam się...<br />- <strong>'.$_POST['newsletter'].'</strong> -<br /><br />';
  31. $text_body .= 'IP: '.$_SERVER['REMOTE_ADDR'].'<br />';
  32. $mail->Body = $text_body;
  33.  
  34. if(!$mail->Send())
  35. {
  36. echo "Error sending: " . $mail->ErrorInfo;;
  37. }
  38. else
  39. {
  40. echo "Zapytanie zostało wysłane";
  41. }
  42. ?>
  43.  
maniana
filter_var pomoże ci przefiltrować dane z POST. Zawsze filtruj dane po stronie użytkownika i po stronie serwera.
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.