Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wysyłanie formularza na mail + przekazanie zmiennych
Robert93
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 15.06.2009

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


Witam

Mam formularz z polami text, select i radio. Obecnie po wciśnięciu przycisku wyślij na stronie, formularz jest wysyłany na maila przez "POST". Chciałbym aby po wysłaniu na maila na kolejnej stronie wyświetlała się zawartość kilku pól formularza.
Chciałbym, aby wartościami przenoszonymi na następną stronę była zawartość pola "ilość" oraz "forma płatności".
Nie bardzo wiem jak to zrobić, dlatego proszę o pomoc : )
Poniżej obecny kod:

  1.  
  2. <?php
  3. if (count($_POST))
  4. {
  5.  
  6. $email = 'maill';
  7. $subject = 'temat';
  8. $message = 'Wiadomoœść po wysłaniu formularza';
  9. $error = 'Wystąpił błąd podczas wysyłania formularza';
  10. $charset = 'iso-8859-2';
  11.  
  12. $head =
  13. "MIME-Version: 1.0\r\n" .
  14. "Content-Type: text/plain; charset=$charset\r\n" .
  15. "Content-Transfer-Encoding: 8bit";
  16. $body = '';
  17. foreach ($_POST as $name => $value)
  18. {
  19. if (is_array($value))
  20. {
  21. for ($i = 0; $i < count($value); $i++)
  22. {
  23. $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
  24. }
  25. }
  26. else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
  27. }
  28. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  29. }
  30. else
  31. {
  32. ?>
  33. <form action="?" method="post">
  34. <ul><ul>
  35. Ilość: <BR>
  36. <select name="ilość">
  37. <option selected="selected">1 sztuka </option>
  38. <option>2 sztuki </option>
  39. <option>3 sztuki + 1 gratis </option>
  40. <option>4 sztuki + 1 gratis </option>
  41. <option>5 sztuk + 1 gratis</option>
  42. <option>6 sztuk + 2 gratis</option>
  43. <option>7 sztuk + 2 gratis</option>
  44. <option>8 sztuk + 2 gratis</option>
  45. <option>9 sztuk + 3 gratis</option>
  46. <option>10 sztuk + 3 gratis</option>
  47. </select><BR>
  48. <BR>
  49. <p>Płeć:</p>
  50. <input type="radio" name="Płeć" value="Kobieta" />Kobieta
  51. <input type="radio" name="Płeć" value="Mężczyzna" />Mężczyzna
  52. <BR>
  53. <BR>
  54. Nazwisko : <BR>
  55. <input name="Imię i Nazwisko"><BR>
  56. <BR>
  57. <BR>
  58. Adres : <BR>
  59. <textarea name="Adres" cols="30" rows="5"></textarea><BR>
  60. <BR>
  61. Telefon : <BR>
  62. <input name="Telefon"><BR>
  63. <BR>
  64. e-mail : <BR>
  65. <input name="e-mail">
  66. </ul></ul>
  67. <BR>
  68. <BR>
  69. <BR>
  70. <BR>
  71. Forma płatności : <BR>
  72. <BR>
  73. <input type="radio" name="płatność" value="list PRIORYTET" /> Płatność przelewem przesyłka listowa priorytetowa 6zł<BR><BR><input type="radio" name="płatność" value="za zaliczeniem" /> Płatność przy odbiorze przesyłka ekonomiczna 12zł
  74. <BR>
  75. <BR>
  76. <input type="checkbox" name="regulamin" value="tak" />Zapoznałem się z treścią regulaminu sklepu i akceptuje jego warunki<BR>
  77. <BR>
  78. <BR>
  79. <font color="red"><input type="submit" value="Zamów" /></font>
  80.  
  81. </form>
  82. <?php
  83. }
  84. ?>
  85. </form>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
weedget
post
Post #2





Grupa: Zarejestrowani
Postów: 16
Pomógł: 2
Dołączył: 7.06.2007
Skąd: Warszawa

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


Po pierwsze to zły dział, powinno być w PHP.

Po drugie, to po
Kod
echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;

wystarczy że wyświetlisz na ekranie użytkownikowi to co chcesz mu pokazać.

Inna sprawa że sama konstrukcja
Kod
echo mail()
jest średnio "elegancka"...
Go to the top of the page
+Quote Post
requ12
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 9.03.2013

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


Polskie znaki w nazwach pół, tragedia (IMG:style_emoticons/default/tongue.gif)

Ale jeśli już to po
Kod
echo mail(...)

dajesz normalnie
Kod
echo "Ilość sztuk:" . $_POST['ilość'] . " Sposób płatności:" . $_POST['płatność'];


Ten post edytował requ12 9.03.2013, 12:00:35
Go to the top of the page
+Quote Post
Robert93
post
Post #4





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 15.06.2009

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


Dzięki za pomoc (IMG:style_emoticons/default/smile.gif)
faktycznie, zapomniałem o polskich znakach, ale to będzie poprawione na gotowej stronie (IMG:style_emoticons/default/tongue.gif)

Mam jeszcze jedno pytanie. W wiadomości mailowej przychodzą do mnie wartości pól np. przy ilości jest to "1 sztuka", lub gdy podam wartość value="jeden" to przychodzi "jeden". Czy można zrobić tak, aby zawsze przychodziła wartość "1 sztuka", a nie wartość value?
Mam nadzieję, że w miarę jasno to opisałem (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #5





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




if ($value == 'jeden') echo '1 sztuka';

teraz pomysl jak to wstawić do siebie
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 00:40