Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Formularz- Wysyłanie automatyczny Mail potwierdzający, Wysyłany automatyczny Mail potwierdzający.
torq
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 12.02.2014

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


Witam,

potrzebuję pomocy przy formularzu.

Ustawiłem sobie już wszystko ale za cholerę nie mogę dojść jak zrobić, żeby w momencie wysłania do mnie wiadomości był wysyłany mail do niego z "Podziękowaniem czy jakimś tekstem linkiem grafiką" do osoby która do mnie napisała zarazem było by to potwierdzenie wysłania maila.

Skrypt działa gotowy tylko trzeba dodać to opcję nad którą ślęczę już spory czas. Prosił bym o pomoc w rozwiązaniu tego problemu.

Z góry dziękuję.


  1. <!DOCTYPE html>
  2. <html dir="ltr" lang="pl-PL">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <title>formularz</title>
  6. </head>
  7. <body>
  8.  
  9. <STYLE type="text/css">
  10. * {
  11.  
  12. padding: 0;
  13.  
  14. margin: 0;
  15.  
  16. }
  17.  
  18.  
  19. /* FORMS */
  20.  
  21.  
  22. input[type=submit], input[type=text], textarea {
  23. background-image: -moz-linear-gradient(top, rgba(255,255,255,0.2) 30%, rgba(251,251,251,0.2) 31%, rgba(0,0,0,0.1) 100%);
  24. background-image: -webkit-gradient(linear, left top, left bottom, color-stop(30%,rgba(255,255,255,0.2)), color-stop(31%,rgba(251,251,251,0.2)), color-stop(100%,rgba(0,0,0,0.1)));
  25. background-image: -webkit-linear-gradient(top, rgba(255,255,255,0.2) 30%,rgba(251,251,251,0.2) 31%,rgba(0,0,0,0.1) 100%);
  26. background-image: -o-linear-gradient(top, rgba(255,255,255,0.2) 30%,rgba(251,251,251,0.2) 31%,rgba(0,0,0,0.1) 100%);
  27. background-image: -ms-linear-gradient(top, rgba(255,255,255,0.2) 30%,rgba(251,251,251,0.2) 31%,rgba(0,0,0,0.1) 100%);
  28. background-image: linear-gradient(top, rgba(255,255,255,0.2) 30%,rgba(251,251,251,0.2) 31%,rgba(0,0,0,0.1) 100%);
  29. filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#33ffffff', endColorstr='#1a000000',GradientType=0 );
  30.  
  31. -webkit-border-radius: 6px;
  32. -moz-border-radius: 6px;
  33. border-radius: 6px;
  34. border: 1px solid;
  35. box-shadow: 0 1px 0 rgba(255,255,255,0.5) inset;
  36.  
  37. font-size: 12px;
  38. font-weight: bold;
  39. text-shadow: 0 1px 0 rgba(0,0,0,0.5);
  40. text-decoration: none;
  41.  
  42. position: relative;
  43. line-height: 16px;
  44. padding:0px 14px;
  45. margin-bottom:18px;
  46. }
  47.  
  48. /* SUBMIT */
  49. input[type=submit] {
  50. background-color: #FF8400;
  51. border-color: #F27D00;
  52. color:#FFF;
  53. height: 40px;
  54. width:210px;
  55. cursor:pointer;
  56. }
  57.  
  58. /* TEXT INPUT */
  59. input[type=text] {
  60. background-color: #0ea4e4;
  61. border-color: #0b81b4;
  62. color:#FFF;
  63. height: 40px;
  64. width:180px;
  65. }
  66.  
  67. #layouts {
  68.  
  69. margin: 0 auto;
  70.  
  71. width: 600px;
  72. background-color: #ffffff;
  73.  
  74. }
  75.  
  76. #box {
  77. width: 220px;
  78. margin: 0 auto;
  79. background-color: #ffffff;
  80. }
  81.  
  82. </STYLE>
  83.  
  84.  
  85. <div id="layouts"><!-- start layouta -->
  86. <br> <br> <br> <br>
  87. <div id="box">
  88. <?php
  89. if(empty($_POST['submit'])) {
  90. ?>
  91. <form action="" method="post">
  92. <input type="text" name="formName" value="Imię" onblur="if(value=='') value = 'Imię'" onfocus="if(value=='Imię') value = ''"/><br />
  93. <input type="text" name="formEmail" value="E-mail" onblur="if(value=='') value = 'E-mail'" onfocus="if(value=='E-mail') value = ''"/><br />
  94. <input type="text" name="formKod" value="Kod- jeżeli posiadasz" onblur="if(value=='') value = 'Kod- jeżeli posiadasz'" onfocus="if(value=='Kod- jeżeli posiadasz') value = ''"/><br />
  95.  
  96. <input type="submit" name="submit" value="Wyślij"/>
  97.  
  98. </form>
  99. <?php
  100. } else {
  101. //twoje dane
  102. $email = 'mail';
  103.  
  104. //dane z formularza
  105. $formName = $_POST['formName'];
  106. $formEmail = $_POST['formEmail'];
  107. $formKod = $_POST['formKod'];
  108.  
  109. if(!empty($formName) && !empty($formEmail) && !empty($formKod)) {
  110. //--- początek funkcji weryfikującej adres e-mail ---
  111. function checkMail($checkmail) {
  112. if(filter_var($checkmail, FILTER_VALIDATE_EMAIL)) {
  113. if(checkdnsrr(array_pop(explode("@",$checkmail)),"MX")){
  114. return true;
  115. }else{
  116. return false;
  117. }
  118. } else {
  119. return false;
  120. }
  121. }
  122. //--- koniec funkcji ---
  123.  
  124. if(checkMail($formEmail)) {
  125. //dodatkowe informacje: ip i host użytkownika
  126. $ip = $_SERVER['REMOTE_ADDR'];
  127. $host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
  128. $protocol = strpos(strtolower($_SERVER['SERVER_PROTOCOL']),'https')
  129. === FALSE ? 'http' : 'https';
  130. $host = $_SERVER['HTTP_HOST'];
  131. $script = $_SERVER['SCRIPT_NAME'];
  132. $params = $_SERVER['QUERY_STRING'];
  133.  
  134. $currentUrl = $protocol . '://' . $host . $script . '?' . $params;
  135.  
  136. //tworzymy szkielet wiadomości
  137. //treść wiadomości
  138. $mailText = "$formName, </br> $formKod, $formEmail ($ip, $host)/nLink: $currentUrl";
  139.  
  140. //adres zwrotny
  141. $mailHeader = "From: $formName <$formEmail>";
  142.  
  143. //funkcja odpowiedzialna za wysłanie e-maila
  144. @mail($email, '[Zapytanie]', $mailText, $mailHeader) or die('Błąd: wiadomość nie została wysłana');
  145.  
  146. //komunikat o poprawnym wysłaniu wiadomości
  147. echo 'Wiadomość została wysłana';
  148. } else {
  149. echo 'Adres e-mail jest niepoprawny';
  150. }
  151. }
  152. else {
  153. //komunikat w przypadku nie powodzenia
  154. echo 'Wypełnij wszystkie pola formularza';
  155. }
  156. }
  157. ?>
  158. </div><!-- end box -->
  159. </div><!-- end layouta -->
  160.  
  161. </body>
  162. </html>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
KR2615
post
Post #2





Grupa: Zarejestrowani
Postów: 311
Pomógł: 13
Dołączył: 7.05.2007

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


  1. //funkcja odpowiedzialna za wysłanie e-maila
  2. @mail($email, '[Zapytanie]', $mailText, $mailHeader) or die('Błąd: wiadomość nie została wysłana');
  3. @mail($formEmail, '[Podziękowanie]', 'Tekst podziękowania') or die('Błąd: wiadomość nie została wysłana');

Jeśli chcesz umieścicć grafikę musisz zmodyfikować nagłówki emaila (header) na text/html i tam ją umieścić


--------------------
Go to the top of the page
+Quote Post
torq
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 12.02.2014

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


Cytat(KR2615 @ 12.02.2014, 08:12:06 ) *
  1. //funkcja odpowiedzialna za wysłanie e-maila
  2. @mail($email, '[Zapytanie]', $mailText, $mailHeader) or die('Błąd: wiadomość nie została wysłana');
  3. @mail($formEmail, '[Podziękowanie]', 'Tekst podziękowania') or die('Błąd: wiadomość nie została wysłana');

Jeśli chcesz umieścicć grafikę musisz zmodyfikować nagłówki emaila (header) na text/html i tam ją umieścić


Dziękuję wszystko działa jak należy oprócz polskich znaków masz na to jakąś radę ? albo jakiś dopisek do kodu ?
Czyli wystarczy że zmienię na text/html i tam później dam przykładowo "odpowiedz.html"?
Go to the top of the page
+Quote Post
L0k0
post
Post #4





Grupa: Zarejestrowani
Postów: 161
Pomógł: 4
Dołączył: 18.03.2011

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


Cytat(torq @ 12.02.2014, 11:09:14 ) *
Dziękuję wszystko działa jak należy oprócz polskich znaków masz na to jakąś radę ? albo jakiś dopisek do kodu ?
Czyli wystarczy że zmienię na text/html i tam później dam przykładowo "odpowiedz.html"?


  1. $headers = 'MIME-Version: 1.0' . "\r\n";
  2. $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
Go to the top of the page
+Quote Post
torq
post
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 12.02.2014

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


  1. $host = $_SERVER['HTTP_HOST'];
  2. $script = $_SERVER['SCRIPT_NAME'];
  3. $params = $_SERVER['QUERY_STRING'];
  4.  
  5. $headers = 'MIME-Version: 1.0' . "\r\n";
  6. $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";


Wstawiłem dokładnie to w to miejsce ale skrypt nie idzie? zrobiłem może coś źle ?
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Wypadaloby te naglowki dodac do maila.... Loko ci tylko podal przyklad, a nie kod na bezmyslne kopiowanie.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
torq
post
Post #7





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 12.02.2014

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


Cytat(nospor @ 12.02.2014, 14:37:08 ) *
Wypadaloby te naglowki dodac do maila.... Loko ci tylko podal przyklad, a nie kod na bezmyslne kopiowanie.



Nie jest to moja dziedzina niestety i nie chce nikogo urazić tym, że się nie znam.

Po prostu potrzebuje to zrobić i naprawdę siedzę już jakiś czas nad tym i staram się rozwiązywać problemy.

Wiem, że trzeba to wkleić do funkcji mail bo to jest parametr.

Czy był by mi ktoś wstanie to pokazać, bardzo bym prosił.
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




W swoim kodzie generujesz juz naglowki w zmiennej
$mailHeader = "From: $formName <$formEmail>";
ktora dodajesz do mail.
Naglowki ktore podal Loko, masz dodac do tej zmiennej


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
torq
post
Post #9





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 12.02.2014

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


Cytat(nospor @ 12.02.2014, 14:43:40 ) *
W swoim kodzie generujesz juz naglowki w zmiennej
$mailHeader = "From: $formName <$formEmail>";
ktora dodajesz do mail.
Naglowki ktore podal Loko, masz dodac do tej zmiennej



Dodałem to na zasadzie:

  1. $mailHeader = "From: $formName <$formEmail> $headers" ;


Wcześniej podając w funkcji:

  1. $headers = 'MIME-Version: 1.0' . "\r\n";
  2. $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";


Dalej jest to samo a kiedy dodaje same :'Content-type: text/html; charset=utf-8' . "\r\n"; wykrusza mi skrypt.

Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. $mailHeader = "From: $formName <$formEmail>\r\n";
  2. $mailHeader .= 'MIME-Version: 1.0' . "\r\n";
  3. $mailHeader .= 'Content-type: text/html; charset=utf-8' . "\r\n";


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
torq
post
Post #11





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 12.02.2014

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


Cytat(nospor @ 12.02.2014, 15:19:52 ) *
  1. $mailHeader = "From: $formName <$formEmail>\r\n";
  2. $mailHeader .= 'MIME-Version: 1.0' . "\r\n";
  3. $mailHeader .= 'Content-type: text/html; charset=utf-8' . "\r\n";



Tą opcję też przechodziłem dodanie tylko mail ale to też nie zdziała :/
dale są krzaczki tylko teraz wiem, że próby były dobre.
Go to the top of the page
+Quote Post
L0k0
post
Post #12





Grupa: Zarejestrowani
Postów: 161
Pomógł: 4
Dołączył: 18.03.2011

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


Cytat(torq @ 12.02.2014, 15:27:41 ) *
Tą opcję też przechodziłem dodanie tylko mail ale to też nie zdziała :/
dale są krzaczki tylko teraz wiem, że próby były dobre.


No to teraz kombinuj z kodowaniem. Jeśli utf8 wywala krzaki to znaczy, że w tym kodowaniu nie są generowane polskie znaki u Ciebie (tak mi się wydaje).
Teraz po prostu próbuj ISO-8859-2, windows-1250 itd. Któreś muszą pasować, nie ma bata.

Co w ogóle masz w meta w index'ie?

Pozdro

Ten post edytował L0k0 13.02.2014, 12:00:41
Go to the top of the page
+Quote Post
Turson
post
Post #13





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Mail w utf8, dokument w utf8, format pliku utf8 bez bom i nie ma bata, żeby polskie znaki nie przeszły.
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 Aktualny czas: 19.08.2025 - 18:16