Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Funkcja php mail stały tekst html + zmienne
ajoxo0
post 26.02.2017, 20:21:27
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 26.02.2017

Ostrzeżenie: (0%)
-----


Witam. Mam taki scrypt do wysyłania wiadomości poprzez funkcję mail()

  1. <?php
  2. if (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
  3. $message = "
  4.  
  5. <span> Skorzystaj sie $_POST[tresc]</span></a>
  6. <br />xxxx <br />xxx<br />xxx <br />800 200 900 <br /><a href="mailto:xxx">xxxxx</a>
  7.  
  8. <h1 asd </h1> ści:\n\nWysłał: $_POST[imie]\ne-mail: $_POST[email]";
  9. $headers = 'MIME-Version: 1.0' . "r\n";
  10. $headers .= 'Content-type: text/html; charset=iso-8859-2' . "r\n"; //lub utf-8 itd.
  11. $maill ="$_POST[email]";
  12. @mail("$maill","Wiadomość ze strony WWW","$message","$headers")
  13. or die('Nie udało się wysłać wiadomości');
  14. echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
  15. }
  16. else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";
  17. ?>


Jestem świeży w temacie, robię własną stronę WWW. Chciał bym wstawić stały html w formularzu i w odpowiednich miejscach wpisać do niego zmienne pobierane ze strony która wysyła formularz. Niby wszystko działa ale tylko po wpisaniu prostego html np <h1> xx </h1> wtedy wiadomośc się wysyła, jak zrobię jakiś bardziej zaawansowany wpis html formularz w ogóle się nie wysyła ani nie zwraca żadnego błędu. Po prostu wywala białą stronę. Wszystko działa poprawnie tylko wtedy gdy wpiszę zaawanswany tekst html i wyślę go poprzez formularz ale w takim przypadku nie mogę użyć zmiennych pobranych właśnie z tego formularza. Ma ktoś jakiś pomysł jak by to rozwiązać ?

Ten post edytował ajoxo0 26.02.2017, 20:23:59
Go to the top of the page
+Quote Post
Tomplus
post 27.02.2017, 08:15:41
Post #2





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


Sprawdź jakie wartości trafiają ci do formularza:

  1. vare_dump($_POST);


Przeanalizuj czy wszystkie wartości spełniają warunek:

  1. if (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email']))


a potem:

Usuń @ przed mail()

A do funkcji email nie potrzeba wstawiać n-ty raz "" po prostu:

  1. if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
  2. mail($_POST['email'], $trescWiadomosci, $header);
  3. }


Tyle wystarczy.

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 18:31