Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Lista rozwijana
eeagle
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 18.11.2014

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


Mam prosty formularz z kilkoma polami text i 2 listy rozwijane. Problem jest taki że po kliknięciu submit i nie spełnieniu warunków pola textowe nadal są wypełnione ( tak powinno być ) natomiast menu rozwijalne wraca do stanu pierwotnego.
Co zrobić aby skrypt pamiętał wybór?

Poniżej kod:

  1. <?php
  2. function formularz(
  3. $imie = "",
  4. $nazwisko = "",
  5. $miejscowosc = "",
  6. $user_mail= "",
  7. $car_model= "",
  8. $vin= "",
  9. $mailing_checked = false ) {
  10. ?>
  11. <div class="wrapper">
  12. <!-- Start of FORM -->
  13. <div class="form-container">
  14. <form class="forms" action="" method="post">
  15. <fieldset>
  16. <ol>
  17. <li class="form-row text-input-row">DANE UŻYTKOWNIKA:</li>
  18. <li class="form-row text-input-row">IMIĘ:<input type="text" name="imie" value=<?= $imie; ?>></li>
  19. <li class="form-row text-input-row">NAZWISKO:<input type="text" name="nazwisko" value=<?= $nazwisko; ?>></li>
  20. <li class="form-row text-input-row">MIEJSCOWOŚĆ:<input type="text" name="miejscowosc" value=<?= $miejscowosc; ?>></li>
  21. <li class="form-row text-input-row">ADRES EMAIL:<input type="text" name="user_mail" value=<?= $user_mail; ?>></li>
  22. <li class="form-row text-input-row">DANE SAMOCHODU:</li>
  23. <li class="form-row text-input-row">MODEL SAMOCHODU:
  24. <select name="car_model" value= <?= $car_model; ?>>
  25. <optgroup label="FORD">
  26. <option>KA</option>
  27. <option>FIESTA</option>
  28. <option>FOCUS</option>
  29. <option>MONDEO</option>
  30. </optgroup>
  31. <optgroup label="NISSAN">
  32. <option>MICRA</option>
  33. <option>ALMERA</option>
  34. <option>PRIMERA</option>
  35. </optgroup>
  36. </select>
  37. </li>
  38. <li class="form-row text-input-row">VIN:<input type="text" name="vin" value=<?= $vin; ?>></li>
  39. <li class="form-row text-input-row">Akceptuję warunki p<a href="warunki.pdf" target="_blank"><img src="style/images/pdf.gif" /></a><input type="checkbox" name="mailing" value="zgoda"/></li>
  40. <li><input type="submit" name="submit" value="Wyślij"></li>
  41. <li>&nbsp;</li>
  42. <li><INPUT type="button" value="Wyczyść" onclick="return clearForm(this.form);"></li>
  43. </ol>
  44. </fieldset>
  45. </form><br><br>
  46. </div>
  47. <?php
  48. }
  49. ?>
  50. <?php
  51. if (isset($_POST["submit"]))
  52. {
  53. // Sprawdzamy, czy użytkownik zaznaczył pole wyboru i ustawiamy wartość
  54. // odpowiedniej zmiennej
  55. $mailing = false;
  56.  
  57. // Wyświetlamy formularz z wpisanymi wartościami poszczególnych pól
  58. formularz($_POST["imie"], $_POST["nazwisko"], $_POST["miejscowosc"], $_POST["user_mail"], $_POST["car_model"], $_POST["vin"], $mailing);
  59.  
  60. if (empty($_POST["imie"])) { echo "<p style=\"color:red\">Nie wypełniłeś pola <strong>Imię !</strong><br/></p>"; }
  61. elseif (strlen($_POST["imie"]) > 20){echo "<p style=\"color:red\">Za długie Imię - max. 20 znaków <br/></p>";}
  62. elseif (empty($_POST["nazwisko"])) { echo "<p style=\"color:red\">Nie wypełniłeś pola <strong>Nazwisko !</strong><br/></p>"; }
  63. elseif (strlen($_POST["nazwisko"]) > 20){echo "<p style=\"color:red\">Za długie nazwisko - max. 20 znaków <br/></p>";}
  64. elseif (empty($_POST["miejscowosc"])) { echo "<p style=\"color:red\">Nie wypełniłeś pola <strong>Miejscowość !</strong><br/></p>"; }
  65. elseif (strlen($_POST["miejscowosc"]) > 20){echo "<p style=\"color:red\">Za długie nazwa miejscowości - max. 20 znaków <br/></p>";}
  66. elseif (strlen($_POST["user_mail"]) > 30){echo "<p style=\"color:red\">Za długie nazwa email - max. 30 znaków <br/>";}
  67. elseif (preg_match('/^[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ0-9\-\_\.]+\@[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ0-9\-\_\.]+\.[a-z]{2,4}$/',$_POST["user_mail"]) == false) { echo "<p style=\"color:red\">Niepoprawny adres E-mail!</p>"; }
  68. elseif (empty($_POST["car_model"])) { echo "<p style=\"color:red\">Nie wypełniłeś pola <strong>Model !</strong><br/></p>"; }
  69. elseif (strlen($_POST["car_model"]) > 12){echo "<p style=\"color:red\">Za długa nazwa Modelu - max. 12 znaków <br/></p>";}
  70. elseif (empty($_POST["vin"])) { echo "<p style=\"color:red\">Nie wypełniłeś pola <strong>VIN !</strong><br/></p>"; }
  71. elseif (strlen($_POST["vin"]) > 12){echo "<p style=\"color:red\">Za długa nazwa VIN - max. 12 znaków <br/></p>";}
  72. elseif (empty($_POST["mailing"])) {echo "<p style=\"color:red\">Warunkiem przedłużonej gwarancji jest zgoda na otrzymywanie informacji handlowych</p>";}
  73. else {
  74.  
  75. $result = mysql_query("SELECT 'vin' FROM `users` WHERE vin='$_POST[vin]'") or die('Błąd zapytania');
  76. $row = mysql_num_rows($result);
  77. if($row > 0) {
  78. echo '<p style=\"color:red\">Już istnieje zarejestrowany użytkownik z takim nr VIN.</p>';
  79. } else {
  80. $ins = @mysql_query("INSERT INTO users SET imie='$_POST[imie]' , nazwisko='$_POST[nazwisko]', miejscowosc='$_POST[miejscowosc]', user_mail='$_POST[user_mail]', car_model='$_POST[car_model]',
  81. vin='$_POST[vin]', mailing='$_POST[mailing]' ");
  82. echo 'Dane zostały przesłane poprawnie.</br>';
  83. echo 'W ciągu 2dni otrzymasz na podany adres email potwierdzenie przyjęcia zgłoszenia.';
  84.  
  85. echo '<div id="dialog" title="Informacja">
  86. <p>Dane zostały przesłane poprawnie. W ciągu 2 dni otrzymasz na podany adres email potwierdzenie przyjęcia zgłoszenia.</p>
  87. </div>';
  88. }
  89. }
  90. }
  91. else
  92. {
  93. formularz();
  94. }
  95. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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: 21.08.2025 - 22:44