Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Formularz, wysyłka kodu mailem
Forum PHP.pl > Forum > Przedszkole
shpaque
Witam serdecznie wracam z zapytaniem, co robię nie tak:
Chcę aby formularz wysłał maila, no ale chciałbym tego maila ostylować i żeby sobie wyglądał, więc chciałbym żeby go wysłał w postaci kodu html, ktory programy pocztowe sobie zbudują. Problem w tym, że w treści maila idzie kod jako tresc txt...

  1. <?php
  2.  
  3. ini_set("display_errors", 1);
  4.  
  5. if ($_SERVER['REQUEST_METHOD'] == 'POST')
  6. {
  7. $action = isset($_POST['action']) ? $_POST['action'] : '';
  8. $success_page = "./../ok.php";
  9. $error_page = "./../error.php";
  10.  
  11. if ($action == "signup")
  12. {
  13. $newname = $_POST['name'];
  14. $newemail = $_POST['email'];
  15. $newphone = $_POST['phone'];
  16. $newgender = $_POST['gender'];
  17. $planujeciaze = $_POST['planujeciaze'];
  18. $jestemwciazy = $_POST['jestemwciazy'];
  19. $jestemrodzicem = $_POST['jestemrodzicem'];
  20. $newdata = $_POST['datein'];
  21. $newtytul = $_POST['title'];
  22. $newmiasto = $_POST['city'];
  23.  
  24. $mailto = $newemail;
  25. $subject = "Uniwersytet Rodzica / Dziękujemy za rejestrację w naszym serwisie";
  26. $message = "<html>"."\r\n";
  27. $message .= "<head>"."\r\n";
  28. $message .= "<meta http-equiv=\"Content-Type\" content=\"text/html\"; charset=\"ISO-8859-2\">"."\r\n";
  29. $message .= "<link href=\"https://fonts.googleapis.com/css?family=Lato\" rel=\"stylesheet\">"."\r\n";
  30. $message .= "<title>Potwierdzenie rejestracji</title>"."\r\n";
  31. $message .= "<style type=\"text/css\">"."\r\n";
  32. $message .= "body {font-family:'Lato',sans-serif;background:#DEDEDE;}"."\r\n"; //Kolory: #223B7E - granat, #00B4FF - jasny niebieski, #FF007F - różowy, #DEDEDE - jasny szary
  33. $message .= "</style>"."\r\n";
  34. $message .= "</head>"."\r\n";
  35. $message .= "<body>"."\r\n";
  36. $message .= "<table style=\"top:10px;width:50%;height:100%;margin:10px;padding:10px;text-align:center\">"."\r\n";
  37. $message .= "<tr style=\"background:#223B7E;padding:10px;text-align:center;vertical-align:middle\"><td style=\"width:100%;height:100%;padding:10px\"><span style=\"font-size:20px;color:#FFFFFF;line-height:25px;\"><b>Dziękujemy za rejestrację w naszym serwisie.</b><br>Prosimy o sprawdzenie poprawności danych wysłanych w formularzu</span></td></tr>"."\r\n";
  38. $message .= "<tr style=\"background:#FFFFFF;padding:10px;text-align:center\"><td style=\"width:100%;height:100%;padding:10px\"><span style=\"font-size:15px;color:#47454B\">Dziękujemy za rejestrację w naszym serwisie. Prosimy o sprawdzenie poprawności danych wysłanych w formularzu</span></td></tr>"."\r\n";
  39.  
  40. $message .= "</table>"."\r\n";
  41. $message .= "</body>"."\r\n";
  42. $message .= "</html>";
  43. $header = "From: Uniwersytet Rodzica <uniwersytetrodzica@apodi.pl>"."\r\n";
  44. $header .= "Reply-To: uniwersytetrodzica@apodi.pl"."\r\n";
  45. $header .= "MIME-Version: 1.0"."\r\n";
  46. $header .= "Content-Type: html; charset=ISO-8859-2"."\r\n";
  47. $header .= "Content-Transfer-Encoding: 8bit"."\r\n";
  48. $header .= "X-Mailer: PHP v".phpversion();
  49. mail($mailto, $subject, $message, $header);
  50. header('Location: '.$success_page);
  51. }
  52. }
  53. ?>


no i jeszcze sam formularz

  1. <form id="modal-form" name="modal-form" action="./php/email.php" method="POST" enctype="multipart/form-data">
  2. <div class="modal-body">
  3. <input type="hidden" id="action" name="action" value="signup">
  4. <input type="hidden" id="datein" name="datein" value="">
  5. <input type="hidden" id="title" name="title" value="">
  6. <input type="hidden" id="city" name="city" value="">
  7. <div class="form-group">
  8. Imię i nazwisko:
  9. </label>
  10. <input id="name" name="name" class="form-control" required />
  11. </div>
  12. <div class="form-group">
  13. Adres e-mail:
  14. </label>
  15. <input id="email" name="email" class="form-control" type="email" required />
  16. </div>
  17. <div class="form-group">
  18. Telefon kontaktowy:
  19. </label>
  20. <input class="form-control" id="phone" name="phone" type="tel" value="+48 " required />
  21. </div>
  22. <div class="form-group">
  23. <label class="radio-inline"><input type="radio" name="gender" value="k" onclick="show()" checked /><b>kobieta</b></label>
  24. <label class="radio-inline"><input type="radio" name="gender" value="m" onclick="hide()" /><b>mężczyzna</b></label>
  25. </div>
  26. <div class="form-group">
  27. <label class="checkbox-inline"><input type="checkbox" id="planujeciaze" name="planujeciaze" value="t"><b>Planuję ciążę</b></label>
  28. <label id="hide" class="checkbox-inline"><input type="checkbox" id="jestemwciazy" name="jestemwciazy" value="t"><b>Jestem w ciąży</b></label>
  29. <label class="checkbox-inline"><input type="checkbox" id="jestemrodzicem" name="jestemrodzicem" value="t"><b>Jestem rodzicem</b></label>
  30. </div>
  31. <div class="zgoda" style="line-height:13px !important;text-align:justify !important;">Przesłając formularz wyrażasz zgodę na przetwarzanie swoich danych osobowych zgodnie z ustawą o ochronie danych osobowych w związku z realizacją zgłoszenia. Podanie danych jest dobrowolne, ale niezbędne do przetworzenia zapytania. Informujemy, że przysługuje Tobie prawo dostępu do swoich danych, możliwości ich poprawiania, żądania zaprzestania ich przetwarzania. Administratorem danych osobowych jest Uniwersytet Rodzica.</div>
  32. </div>
  33.  
  34. <div class="modal-footer">
  35. <span id="liczba-miejsc" class="liczba-miejsc"></span>
  36. <button type="reset" value="Reset" class="btn btn-d button" style="margin-top:5px;" data-dismiss="modal">Zamknij</button>
  37. <button type="submit" value="Submit" class="btn btn-d button">Zarejestruj się</button>
  38. </div>
  39. </form>


od razu zapytam jak zrobic zeby wyslal mi value kiedy checkbox nie jest aktywny? bo wtedy wywala mi w pliku email.php: Notice: Undefined index: planujeciaze in /home/smusic/ftp/_uniwersytetrodzica/php/email.php on line 18

Notice: Undefined index: jestemwciazy in /home/smusic/ftp/_uniwersytetrodzica/php/email.php on line 19

Notice: Undefined index: jestemrodzicem in /home/smusic/ftp/_uniwersytetrodzica/php/email.php on line 20
nospor
content-Type: html
nie ma czegos takiego jak html. jest za to
content-Type: text/html

co do checkbox to jak ma wyslac cos co nie zostalo wyslane formem?
niezaznaczaony checkbox nie idzie formem - podstawy formularzy
shpaque
znaczy idzie pusty, czy w ogole go pomija? to drugie raczej;

czyli w php sprawdzac isset tak? czy !empty $_POST'a?

cos jeszcze z charsetem powalilem bo wychodza mi krzaczki

Dziêkujemy za rejestracjê w naszym serwisie.
Prosimy o sprawdzenie poprawno¶ci danych wys³anych w formularzu
Dziêkujemy za rejestracjê w naszym serwisie. Prosimy o sprawdzenie poprawno¶ci danych wys³anych w formularzu
nospor
Naprawde masz strone w ISO-8859-2?

Tak, checkbox nie jest w ogole wysylany. Pisalem juz wczesniej.
isset() tak.
shpaque
zawsze robilem utf, ale teraz czytalem ze najbezpieczniej w iso - sam nie wiem

a co gorsza jakos ma problem ze stylami (mimo ze inline) nie wiem czemu

DOBRA smile.gif

juz mnie trafia znow - tresc wiadomosci koduje sie ok (jednak w utf-8), ale tytul/naglowek: "DziÄ kujemy za rejestracjÄ w naszym serwisie" jak to zrobic?

  1. $mailto = $newemail;
  2. $subject = "Uniwersytet Rodzica / Dziękujemy za rejestrację w naszym serwisie";
  3. $message = "<!doctype html>"."\r\n";
  4. $message .= "<html>"."\r\n";
  5. $message .= "<head>"."\r\n";
  6. $message .= "<meta charset=\"utf-8\">"."\r\n";
  7. $message .= "<link href=\"https://fonts.googleapis.com/css?family=Lato\" rel=\"stylesheet\">"."\r\n";
  8. $message .= "<title>Potwierdzenie rejestracji</title>"."\r\n";
  9. $message .= "</head>"."\r\n";
  10. $message .= "<body style=\"font-family:'Lato',sans-serif;background:#DEDEDE\">"."\r\n";
  11. $message .= "<table style=\"top:10px;width:600px;height:100%;margin:10px;padding:10px;text-align:center\">"."\r\n";
  12. $message .= "<tr style=\"width:100%;height:100%;min-height:50px;background:#223B7E;padding:10px;text-align:center;vertical-align:middle\"><td style=\"width:100%;height:100%;padding:10px\"><span style=\"font-size:20px;color:#FFFFFF;line-height:25px;\"><b>Dziękujemy za rejestrację w naszym serwisie.</b><br>Prosimy o sprawdzenie poprawności danych wysłanych w formularzu</span></td></tr>"."\r\n";
  13. $message .= "<tr style=\"background:#FFFFFF;padding:10px;text-align:center\"><td style=\"width:100%;height:100%;padding:10px\"><span style=\"font-size:15px;color:#47454B\">Dziękujemy za rejestrację w naszym serwisie. Prosimy o sprawdzenie poprawności danych wysłanych w formularzu</span></td></tr>"."\r\n";
  14.  
  15. $message .= "</table>"."\r\n";
  16. $message .= "</body>"."\r\n";
  17. $message .= "</html>";
  18. $header = "From: Uniwersytet Rodzica <uniwersytetrodzica@apodi.pl>"."\r\n";
  19. $header .= "Reply-To: uniwersytetrodzica@apodi.pl"."\r\n";
  20. $header .= "MIME-Version: 1.0"."\r\n";
  21. $header .= "Content-Type: text/html; charset=utf-8"."\r\n";
  22. $header .= "Content-Transfer-Encoding: 8bit"."\r\n";
  23. $header .= "X-Mailer: PHP v".phpversion();
  24. mail($mailto, $subject, $message, $header);
  25. header('Location: '.$success_page);


dlaczego tytul wiadomosci sie krzaczy skoro tresc wiadomosci wyswietla sie dobrze?
viking
A poczytaleś trochę dokumentację funkcji mail()? Bo w komentarzach masz pełno informacji jak to zrobić.
shpaque
nie znalazlem, ale w zasadzie zmienilem naglowek tematu wiadomosci na taki bez polskich znakow i tyle.

wiem ze chodzi o definicje kodowania na poczatku (pierwsze jest odbiorca wiadomosci a drugie od razu temat, dopiero w dalszej czesci jest deklaracja kodowania, jak dam w tej czesci przed tematem to odczytuje to jakos tresc i wwala mi tagi do tresci tytulu maila), ale brak czasu robi swoje.

Temat do zamknięcia - zapraszam do innego ktorego wlasnie otwieram wink.gif
viking
No patrz. A to chwila http://fi2.php.net/manual/en/function.mail.php#108669
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.