Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] mail()
Forum PHP.pl > Forum > Przedszkole
fishki
Witam

Napisalem pewien prosty formularz w PHP. Mozna go otworzyc pod adresem www.comb.nazwa.pl/olek. Formularz przesyła dane do pliku gora.php który wyswietla je w pewien sformatowany sposób. Chciałbym aby zawartosc pliku góra.php byla wysylana na maila. Nie wiem jak tak dlugi fragment wysłać. Mail może byc w formie HTMLa lub TXT. Ważne, żeby tylko zawierał ta sama tresc i zeby byly zachowane 'Entery' w odpowiednich miejsach. Kombinowałem z funkcją mail, ale zawsze przychodzi pusta wiadomość. Albo mam błędy PHP. Czy ktos moze uzupełnic ten skrypt? Bede bardzo wdzięczny. Podkreślam, ze nie mam żadnego doświadczenia w php

index.php
  1. <?php
  2. <body>
  3.  
  4. <form action="gora.php" method="GET">
  5.   <p>Imię i nazwisko
  6.     <input type=text name=f0>
  7.     <br>
  8.   Adres
  9.   <input type=text name=f1>
  10.   <br>
  11.   Kod pocztowy
  12.   <input name=f2 type=text size="10" maxlength="6">
  13.   Miejscowość
  14.   <input type="text" name="f3" id="f3" />
  15.   </p>
  16.   <p>Adres e-mail
  17.     <input type="text" name="f4" id="f4" />
  18.     </p>
  19.   <p>Tel. kontaktowy
  20.     <input type="text" name="f6" id="f" />
  21. <br />
  22.   </p>
  23.   <p>&nbsp;</p>
  24.   <p>Produkt pierwszy
  25.     <input name="a0" type="text" value="2" size="5" maxlength="2" id="a0" />
  26.   szt ; 1000/ szt</p>
  27.   <p>Produkt pierwszy
  28.     <input name="a1" type="text" value="2" size="5" maxlength="2" id="a1" />
  29. szt ; 1000/ szt</p>
  30.   <p>Płatność / sposób wysyłki <br>
  31.     <input name=p type=radio value="p0" checked="checked">
  32.     Poczta Polska - przedpłata na konto - cena - 12<br>
  33.     <input type=radio name=p value="p1">
  34.     Poczta Polska - pobranie - cena - 18
  35.     zł<br>
  36.     <input type=radio name=p value="k0">
  37.   Kurier - przedpłata na konto - cena 27<br />
  38.   <input type="radio" name="p" value="k1" />
  39. Kurier - pobranie - cena 32<br>
  40.     <input type=submit value="Wyślij">
  41.     <input type=reset>
  42.     <br>
  43.   </p>
  44. </form>
  45. </body>
  46. ?>


gora.php
  1. <?php
  2. print "<b>ZAMÓWIENIE</b><br><br>\n\t";
  3. print "Twoje dane:";
  4. print "<br>\n\t";
  5. print "<br>\n\t";
  6.  
  7. //pobieranie Imienia
  8. print "<b>Imię i nazwisko </b>";
  9. print $_GET['f0'];
  10. print "<br>\n\t";
  11.  
  12. //pobieranie Adresu
  13. print "<b>Adres </b>";
  14. print $_GET['f1'];
  15. print "<br>\n\t";
  16.  
  17. // Pobieranie kodu i miejscowosci
  18. print "<b>Kod pocztowy </b>";
  19. print $_GET['f2'];
  20. print "&nbsp;&nbsp;";
  21. print "<b>Miejscowość </b>";
  22. print $_GET['f3'];
  23. print "<br>\n\t";
  24. print "<b>Adres E-mail </b>";
  25. print $_GET['f4'];
  26.  
  27. print "<br>\n\t";
  28. print "<b>Telefon kontaktowy </b>";
  29. print $_GET['f5'];
  30. print "<br>\n\t";
  31. print "<br>\n\t";
  32. print "<br>\n\t";
  33.  
  34.  
  35. if ($_GET['a0'] > 0){print "Zamówiłeś "; print $_GET['a0']; print " sztuk produktu pierwszego na łączną kwotę "; print $_GET['a0']*37;
  36. print " zł."; print "<br>\n\t";
  37. }
  38. else {
  39. print "&nbsp;";}
  40.  
  41. if ($_GET['a1'] > 0){print "Zamówiłeś "; print $_GET['a1']; print " sztuk produktu drugiego na łączną kwotę "; print $_GET['a0']*41;
  42. print " zł."; print "<br>\n\t";
  43. }
  44. else {
  45. print "&nbsp;";}
  46.  
  47. print "<br>\n\t";
  48. print "<br>\n\t";
  49.  
  50. print "Łaczna kwota zamówienia to "; print $_GET['a0']*37+$_GET['a1']*41;
  51. print "<br>\n\t";
  52. print "<br>\n\t";
  53.  
  54. print "Sposób wysyłki: \n\t";
  55. // pierwsza platnosc
  56. if ($_GET['p'] == "p0") {print "Poczta Polska - Wpłata na konto 12 zł"; print "<br>\n\t"; print "Łączna kwota do zapłaty"; print $_GET['a0']*37+$_GET['a1']*41+12; print " zł."; print "<br>\n\t"; print "<b>Numer konta Inteligo: 123456</b>";}
  57.  
  58.  
  59. // druga platnosc
  60. if ($_GET['p'] == "p1") {print "Poczta Polska - Płatne przy odbiorze 18 zł"; print "<br>\n\t"; print "Łączna kwota do zapłaty"; print $_GET['a0']*37+$_GET['a1']*41+18; print " zł."; print "<br>\n\t";}
  61.  
  62.  
  63.  
  64.  
  65. // trzecia platnosc
  66. if ($_GET['p'] == "k0") {print "Kurier UPS - wpłata na konto 27 zł"; print "<br>\n\t"; print "Łączna kwota do zapłaty"; print $_GET['a0']*37+$_GET['a1']*41+27; print " zł."; print "<br>\n\t"; print "<b>Numer konta Inteligo: 123456</b>";}
  67.  
  68.  
  69.  
  70.  
  71. // czwarta platosc
  72. if ($_GET['p'] == "k1") {print "Kurier UPS - płatne przy odbiorze 32 zł"; print "<br>\n\t"; print "Łączna kwota do zapłaty"; print $_GET['a0']*37+$_GET['a1']*41+32; print " zł."; print "<br>\n\t";}
  73.  
  74. print "<br>\n\t";
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82. mail ('clubaze@o2.pl', 'Nowe zamowienie', $wiadomosc);
  83. print nl2br(htmlentities($wiadomosc));
  84.  
  85.  
  86. ?>
thekoks
z gdzie jest treść zmiennej $wiadomosc questionmark.gif
fishki
$wiadomosc nie jest zdefiniowana

Nie moge wziac calego gora.php w zmienna bo sypie błędami. Nie wiem jak sobie z tym poradzic :/ 
tomsi
Ja robiłem dokładnie tak i mail jest taki jak jest zdefinionawana wiadomość:

  1. <?php
  2. $naglowek .= "Content-Type: text/plain; charset=utf-8 r\n";
  3. $naglowek .= "From: cos@cos_tam.pl r\n";
  4.  
  5.    $temat="=?charset=utf-8?B?".base64_encode("Temat_jakiś")."?=";
  6.  
  7.    
  8.    if(!mail($email,$temat, "
  9.    
  10. ^^^^^^^^^^^^^^^^^^^^      
  11. \"Komputerek\" SA
  12. ^^^^^^^^^^^^^^^^^^^^
  13.  
  14.  
  15.    
  16. Zamówiłeś:
  17.  
  18.  
  19. $zmienna_z_towarami_zamowionymi
  20.  
  21.  
  22. Czekaj na kuriera.
  23.  
  24.  
  25.  
  26. Adres zamawiającego:
  27.  
  28.  
  29. $imie $nazwisko \n
  30. $miasto, $ulica \n
  31. $kod \n
  32. $telefon
  33.  
  34.  
  35.  
  36. Komentarz:
  37.  
  38.  
  39. $komentarz_do_zamowienia
  40.  
  41.  
  42.  
  43. Dziękujemy za zakupy!!! ZAPRASZAMY PONOWNIE"
  44.    
  45.    ,$naglowek ."X-Mailer: PHP/".phpversion()))
  46. ?>
Maxik
Na samym początku daj ob_start" title="Zobacz w manualu PHP" target="_manual , do zmiennej $wiadomosc przypisz ob_get_contents" title="Zobacz w manualu PHP" target="_manual : $wiadomosc = ob_get_contents() i na końcu dodaj ob_end_flush" title="Zobacz w manualu PHP" target="_manual . $wiadomosc przepuść przez strip_tags" title="Zobacz w manualu PHP" target="_manual , następnie przez nl2br" title="Zobacz w manualu PHP" target="_manual
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.