Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Problem z pobieraniem danych z listy w formularzu na email
Forum PHP.pl > Forum > Przedszkole
Apis
Witam

Pisze ponieważ mam problem, napisałem formularz i skrypt wysyłający dane z niego na e-mail.
Wszystkie dane z formularza wysyłają się bez problemu lecz nie widać wybranej wartości z listy wyboru.
Nie wiem w jaki sposób pobrać wartość z listy i wysłać ją na e-mail.

Tutaj kod formularza w html :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Formularz zgłoszeniowy STT </title>
  5. </head>
  6.  
  7.  
  8. <FORM action="konfigurator.php" method="POST">
  9. <p><strong>Imię i nazwisko:</strong><br> <INPUT type="text" size="25" name="imie"></p>
  10. <p><strong>Ksywa:</strong><br> <INPUT type="text" size="25" name="ksywa"></p>
  11. <p><strong>Nazwa drużyny:</strong><br> <INPUT type="text" size="25" name="team"></p>
  12. <p><strong>Adres email:</strong><br> <INPUT type="text" size="25" name="email"></p>
  13.  
  14. <p><strong>Wybierz dyscypline:</strong></p>
  15. <select name="gra[]" multiple="multiple">
  16. <option value="FIFA 12">FIFA 12</option>
  17. <option value="Counter Strike">Counter Strike</option>
  18. <option value="League of Legends">League of Legends</option>
  19.  
  20. <p><strong>Zawodnicy:</strong><br>
  21. <textarea name="zawodnicy" cols=30 rows=5></textarea></p>
  22. <p><INPUT type="submit" value="Wyślij"></p>
  23. </FORM>
  24.  
  25.  
  26. </body>
  27. </html>


A tutaj plik PHP:

  1. <?php
  2.  
  3. echo "<p><b>$_POST[imie]</b>, dziękujemy za wypełnienie formularza!</p>";
  4. echo "<p>Twój adres to: <b>$_POST[email]</b>.</p>";
  5. echo "<p>Twoja Ksywa to: <b>$_POST[ksywa]</b>.</p>";
  6. echo "<p>Nazwa druzyny: <b>$_POST[team]</b>.</p>";
  7. echo "<p>Wybrałeś nastepującą gre:<br />";
  8. if (!empty($_POST["gra"])) {
  9. echo "<ul>";
  10. foreach ($_POST["gra"] as $wartosc) {
  11. echo "<li>$wartosc</li>";
  12. }
  13. echo "</ul>";
  14. }
  15. echo "<p>Twoji zawodnicy to:<br>";
  16. echo "$_POST[zawodnicy] </p>";
  17.  
  18. // treśc
  19. $tresc = "Imię i nazwisko: $_POST[imie]\r\n";
  20. $tresc .= "Ksywa: $_POST[ksywa]\r\n";
  21. $tresc .= "Nazwa druzyny: $_POST[team]\r\n";
  22. $tresc .= "Adres email: $_POST[email]\r\n";
  23. $tresc .= "Zawodnicy: $_POST[zawodnicy]\r\n";
  24. $tresc .= "Gra : $_POST[gra]\r\n";
  25.  
  26. // nagłówki
  27. $odbiorca = "darkon.darkon@gmail.com";
  28. $temat = "Formularz rejestracyjny";
  29. $naglowki = "From: STT.TCZ.PL <jakisadres@domena.com> \r\n";
  30. $naglowki .= "Reply-To: $_POST[email]";
  31. // wysyłanie wiadomoci
  32. mail($odbiorca, $temat, $tresc , $naglowki );
  33. ?>
  34. </body>
  35. </html>
jackraymund
name="gra[]" na name="gra"
@down
malutki błąd a szkodzi biggrin.gif
Apis
Jest działa .
Dzięki wielkie wink.gif

Wracając do powyższego kodu , mam problem z jego zabezpieczeniem .
Mianowicie chodzi mi o zabezpieczenie przed wpisywaniem złych danych , takich jak np zły e-mail itp.

Więc dopisałem trochę kodu do istniejącego już pliku php :

  1.  
  2. $data= date("d.m.Y");
  3. $imie = htmlspecialchars(trim($_POST['imie']));
  4. $imie = htmlspecialchars(trim($_POST['tresc']));
  5. $ksywa = htmlspecialchars(trim($_POST['ksywa']));
  6. $team = htmlspecialchars(trim($_POST['team']));
  7. $mail = htmlspecialchars(trim($_POST['email']));
  8. $send = $_POST['send'];
  9.  
  10.  
  11. if (isset($_COOKIE['send'])) $error ='Odczekaj '.($_COOKIE['send']-time()).' sekund przed wyslaniem kolejnej wiadomosci';
  12.  
  13. if ($send && !isset($_COOKIE['send']))
  14. {
  15.  
  16. // System zabezpieczajacy
  17.  
  18. // imie
  19. if (empty($tresc))
  20. { $error = "Nie wypelniles pola <strong>Imie i Nazwisko !</strong><br/>"; }
  21. elseif (strlen($imie) > 120)
  22. { $error .="Za dlugie imie i nazwisko - max. 120 znaków <br/>";}
  23.  
  24. // email
  25. if (empty($email))
  26. { $error .= "Nie wypelniles pola <strong>E-mail !</strong><br/>"; }
  27. elseif (strlen($email) > 120)
  28. { $error .="Za dlugi e-mail - max. 120 znaków <br/>";}
  29. elseif (preg_match('/^[a-zA-ZacelnószzACELNÓSZZ0-9\-\_\.]+\@[a-zA-ZacelnószzACELNÓSZZ0-9\-\_\.]+\.[a-z]{2,4}$/',$mail) == false)
  30. { $error .= "Niepoprawny adres E-mail! <br/>"; }
  31.  
  32. // ksywa
  33. if (empty($ksywa))
  34. { $error .= "Nie wypelniles pola <strong>Ksywa !</strong><br/>"; }
  35. elseif (strlen($ksywa) > 45)
  36. { $error .="Za dluga ksywa - max. 45 znaków <br/>";}
  37.  
  38. // nazwisko
  39. if (empty($team))
  40. { $error .= "Nie wypelniles pola <strong>Team !</strong><br/>"; }
  41. elseif (strlen($team) > 120)
  42. { $error .="Za dluga nazwa team'u - max. 120 znaków <br/>";}
  43.  
  44.  
  45. // Wczytywanie daych wpisanych
  46. echo "<p><b>$_POST[imie]</b>, dzi?kujemy za wype?nienie formularza!</p>";
  47. echo "<p>Twój adres to: <b>$_POST[email]</b>.</p>";
  48. echo "<p>Twoja Ksywa to: <b>$_POST[ksywa]</b>.</p>";
  49. echo "<p>Nazwa druzyny: <b>$_POST[team]</b>.</p>";
  50. echo "<p>Wybrales gre: <b>$_POST[gra]</b>.</p>";
  51. echo "<p>Twoi zawodnicy to:<br>";
  52. echo "$_POST[zawodnicy] </p>";
  53.  
  54. // Dane do wyslania
  55. $tresc = "Dane zostaly wygenerowane w dniu[$data]\r\n";
  56. $tresc .= "Za pomoca skryptu GERAS-SX v 0.98 by: Krystian Gehrke 2012\r\n";
  57.  
  58. $tresc .= "Imi? i nazwisko: $_POST[imie]\r\n";
  59. $tresc .= "Ksywa: $_POST[ksywa]\r\n";
  60. $tresc .= "Nazwa druzyny: $_POST[team]\r\n";
  61. $tresc .= "Adres email: $_POST[email]\r\n";
  62. $tresc .= "Zawodnicy: $_POST[zawodnicy]\r\n";
  63. $tresc .= "Gra : $_POST[gra]\r\n";
  64.  
  65. if (empty($error))
  66. {
  67. $list = "Przyslal - $imie ($email) ";
  68.  
  69. if (mail($odbiorca, $imie, $gracz, $ksywa , $gra , $nazwisko , $team))
  70. {
  71. $error .= "Twoja wiadomosc zostala wyslana";
  72. setcookie("send", time()+60, time()+60);
  73. }
  74. else
  75. { $error .= "Wystapil blad podczas wysylania wiadomosci, spróbuj pózniej.";}
  76. }
  77. }
  78.  
  79. ?>


Niestety nic się nie dzieje ;/
Nie wiem gdzie mam błąd ?
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.