Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wysyłanie danych forumlarzu checkbox
Forum PHP.pl > Forum > Przedszkole
dvd
Witam, piszę tutaj w akcie desperacji. Przeglądnąłem multum stron i żadna informacja mi nie pomogła w 100% tylko jedna że wyświetlało mi to co chciałem ale nie przesłało mi na meila. Tak więc przechodzę do rzeczy:
Skrypt działa poprawnie i bardzo szybko z wyjątkiem formularza checkbox, tak więc jeżeli zaznaczę jedną opcję wszystko jest w porządku problemy zaczynają się dopiero gdy zaznaczę więcej niż jedną opcję wtedy na meila przychodzi ostatnia zaznaczona opcja a ja bym chciał aby przychodziły dwie.

Dodam że próbowałem bawić się z pętlą zrobiłem nawet modyfikacje działa prawidłowo wyświetla się tylko że nie wysyła na pocztę,a ja nie umiem przekierować zmiennej aby wysłała go na meila.
Mam prośbę aby ktoś mógł luknąć na ten skrypt i tak zrobić aby działały checkbox'y proszę i dziękuję.

  1. <?php
  2.  
  3. // sprawdzamy, czy zmienna $submit jest pusta
  4. if (empty($_POST['submit'])) {
  5. // wyświetlamy formularz
  6. echo "
  7. <table border=\"0\"><form method=\"post\">
  8. <tr>
  9. <td width=\"150\">Imię:</td>
  10. <td><input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
  11. </tr>
  12. <tr>
  13. <td valign=\"top\"> Ulubiony napój:</td>
  14. <td>
  15. <input type=\"checkbox\" name=\"woda\" value=\"coca\">Coca cola<br>
  16. <input type=\"checkbox\" name=\"woda\" value=\"mirinda\">Mirinda<br>
  17. <input type=\"checkbox\" name=\"woda\" value=\"sprite\">Sprite<br>
  18. <input type=\"checkbox\" name=\"woda\" value=\"seven\">Seven Up<br>
  19. <input type=\"checkbox\" name=\"woda\" value=\"pepsi\">Pepsi<br>
  20. </tr>
  21.  
  22. <tr>
  23. <td>&nbsp;</td>
  24. <td><input type=\"submit\" name=\"submit\" value=\"Wyślij\">&nbsp;<input type=\"reset\" value=\"Wyczyść\"></td></form>
  25. </tr>
  26. </table>";
  27. }
  28.  
  29. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  30. elseif (!empty($_POST['imie']) && !empty($_POST['woda'])) {
  31. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  32.  
  33. // zmienna $message zawiera treść wiadomości
  34. $message = "Imię: $_POST[imie]\nUlubiony napój: $_POST[woda]\n";
  35.  
  36. // zmienna $header zawiera przede wszystkim adres zwrotny
  37. $header = "From: $_POST[imie]";
  38.  
  39. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  40. @mail("nazwa@domena.pl", "Formularz $_POST[imie]","$message","$header")
  41. or die('Nie udało się wysłać wiadomości');
  42.  
  43. // wyświetlenie komunikatu w przypadku powodzenia
  44. echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
  45. }
  46. // lub w przypadku nie wypełnienia formularza do końca
  47. else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!<br><p align=\"right\"></span>";
  48. ?>


Pozdrawiam
tehaha
zmienna musi być tablicą daj: name=\"woda[]\"

dodatkowo użyj pętli foreach(), żeby wypisać wszystkie dane zapisane do tej tablicy
dvd
Zrobiłem tak, inaczej nie umiem na prawdę za mało znam język dla tego was proszę o pomoc. Żeby pokazać że działa dodałem w 54 lini odwołanie $_POST[woda] i wyświetla się lecz gdy przychodzi na meila wyświetla się Array
Kurcze wyświetlać się wyświetla ale ja chciałbym żeby wysłało to na meila ;/

  1. <?php
  2. $w = $_POST['woda'];
  3.  
  4. {
  5. $N = count($w);
  6.  
  7. for($i=0; $i < $N; $i++)
  8. {
  9. echo($w[$i] . " ");
  10. }
  11. }
  12.  
  13. // sprawdzamy, czy zmienna $submit jest pusta
  14. if (empty($_POST['submit'])) {
  15. // wyświetlamy formularz
  16. echo "
  17. <table border=\"0\"><form method=\"post\">
  18. <tr>
  19. <td width=\"150\">Imię:</td>
  20. <td><input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
  21. </tr>
  22. <tr>
  23. <td valign=\"top\"> Ulubiony napój:</td>
  24. <td>
  25. <input type=\"checkbox\" name=\"woda[]\" value=\"coca\">Coca cola<br>
  26. <input type=\"checkbox\" name=\"woda[]\" value=\"mirinda\">Mirinda<br>
  27. <input type=\"checkbox\" name=\"woda[]\" value=\"sprite\">Sprite<br>
  28. <input type=\"checkbox\" name=\"woda[]\" value=\"seven\">Seven Up<br>
  29. <input type=\"checkbox\" name=\"woda[]\" value=\"pepsi\">Pepsi<br>
  30. </tr>
  31.  
  32. <tr>
  33. <td> </td>
  34. <td><input type=\"submit\" name=\"submit\" value=\"Wyślij\"> <input type=\"reset\" value=\"Wyczyść\"></td></form>
  35. </tr>
  36. </table>";
  37. }
  38.  
  39. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  40. elseif (!empty($_POST['imie']) && !empty($_POST['woda'])) {
  41. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  42.  
  43. // zmienna $message zawiera treść wiadomości
  44. $message = "Imię: $_POST[imie]\nUlubiony napój: $_POST[woda]\n";
  45.  
  46. // zmienna $header zawiera przede wszystkim adres zwrotny
  47. $header = "From: $_POST[imie]";
  48.  
  49. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  50. @mail("nazwa@domena.pl", "Formularz $_POST[imie]","$message","$header")
  51. or die('Nie udało się wysłać wiadomości');
  52.  
  53. // wyświetlenie komunikatu w przypadku powodzenia
  54. echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie! $_POST[woda]</strong></div>";
  55. }
  56. // lub w przypadku nie wypełnienia formularza do końca
  57. else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!<br><p align=\"right\"></span>";
  58. ?>
tehaha
spróbuj tak:
  1. <?php
  2. $w = $_POST['woda'];
  3.  
  4. {
  5. $N = count($w);
  6.  
  7. for($i=0; $i < $N; $i++)
  8. {
  9. echo($w[$i] . " ");
  10. }
  11. }
  12.  
  13. // sprawdzamy, czy zmienna $submit jest pusta
  14. if (empty($_POST['submit'])) {
  15. // wyświetlamy formularz
  16. echo "
  17. <table border=\"0\"><form method=\"post\">
  18. <tr>
  19. <td width=\"150\">Imię:</td>
  20. <td><input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
  21. </tr>
  22. <tr>
  23. <td valign=\"top\"> Ulubiony napój:</td>
  24. <td>
  25. <input type=\"checkbox\" name=\"woda[]\" value=\"coca\">Coca cola<br>
  26. <input type=\"checkbox\" name=\"woda[]\" value=\"mirinda\">Mirinda<br>
  27. <input type=\"checkbox\" name=\"woda[]\" value=\"sprite\">Sprite<br>
  28. <input type=\"checkbox\" name=\"woda[]\" value=\"seven\">Seven Up<br>
  29. <input type=\"checkbox\" name=\"woda[]\" value=\"pepsi\">Pepsi<br>
  30. </tr>
  31.  
  32. <tr>
  33. <td> </td>
  34. <td><input type=\"submit\" name=\"submit\" value=\"Wyślij\"> <input type=\"reset\" value=\"Wyczyść\"></td></form>
  35. </tr>
  36. </table>";
  37. }
  38.  
  39. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  40. elseif (!empty($_POST['imie']) && !empty($_POST['woda'])) {
  41. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  42.  
  43. // zmienna $message zawiera treść wiadomości
  44. $all_num = count($_POST['woda']);
  45. if(is_array($_POST['woda']))
  46. {
  47. $i=1;
  48. foreach($_POST['woda'] as $value)
  49. {
  50. $water .= $value;
  51. if($i<$all_num)
  52. {
  53. $water .=", ";
  54. }
  55. ++$i;
  56. }
  57. }
  58.  
  59. $message = "Imię: $_POST[imie]\nUlubiony napój: $water\n";
  60.  
  61. // zmienna $header zawiera przede wszystkim adres zwrotny
  62. $header = "From: $_POST[imie]";
  63.  
  64. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  65. @mail("nazwa@domena.pl", "Formularz $_POST[imie]","$message","$header")
  66. or die('Nie udało się wysłać wiadomości');
  67.  
  68. // wyświetlenie komunikatu w przypadku powodzenia
  69. echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie! $_POST[woda]</strong></div>";
  70. }
  71. // lub w przypadku nie wypełnienia formularza do końca
  72. else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!<br><p align=\"right\"></span>";
  73. ?>
  74.  
dvd
Dziękuje, jesteś wielki o to mi chodziło, całą noc się męczyłem jak to zrobić, a że z php jestem cienki bo zacząłem się go uczyć to nie dawałem rady. Jeszcze raz dziękuje, pozdrawiam i życzę miłego dnia i miło spędzonych wakacji.
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.