Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz PHP i problemy z wieloma selectami
Forum PHP.pl > Forum > PHP
Cuncello
Witam, bardzo proszę o wskazówki. Problem problem polega na tym, że zwraca mi w wszystkich selectach pierwszą opcję z selecta "typ silnika". Pomimo wybrania innych opcji.
Drugi problem, w select "wyposazenie" zwraca mi tylko jedną wybraną opcję pomimo wybrania wielu.

Macie pomysły w czym problem? Pewnie coś głupiego zrobiłem...



  1. <form id="contact" action="sendmemail.php" method="post" enctype="multipart/form-data">
  2.  
  3. <fieldset id="field1">
  4. <select id="pole1" name="rodzaj_pojazdu[]" tabindex="1" required >
  5. <option value="osobowy">osobowy</option>
  6. <option value="dostawczy">dostawczy</option>
  7. <option value="ciarowy">ciężarowy</option>
  8.  
  9. </select>
  10.  
  11. <input placeholder="Marka" type="text" name="email" tabindex="2" required>
  12.  
  13. <input placeholder="model" type="text" name="subject" tabindex="3" required>
  14.  
  15. <input placeholder="Rok produkcji" type="text" name="rok_produkcji" tabindex="4" required>
  16.  
  17. <fieldset id="field2">
  18. <select id="pole2" name="typ_silnika[]" tabindex="5" required>
  19. <option value="typ-silnika" >Typ silnika</option>
  20. <option value="Benzyna">Benzyna</option>
  21. <option value="Diesel">Diesel</option>
  22.  
  23. </select>
  24.  
  25. <input placeholder="Pojemność silnika" type="text" name="poj_silnika" tabindex="6" required>
  26.  
  27. <input placeholder="Moc silnika" type="text" name="moc_silnika" tabindex="7" required>
  28.  
  29. <input placeholder="Przebieg" type="text" name="przebieg" tabindex="8" required>
  30.  
  31. <select id="choseone1" value="Skrzynia biegów" name="skrzynia_biegow[]" tabindex="9" required >
  32.  
  33. <option value="typ-silnika" selected="selected">Skrzynia biegów</option>
  34. <option value="Benzyna">Manualna</option>
  35. <option value="Diesel">Automatyczna</option>
  36.  
  37. </select>
  38.  
  39. <select id="choseone2" name="naped[]" tabindex="10" required >
  40.  
  41. <option value="typ-silnika" selected="selected">Przedni</option>
  42. <option value="Benzyna">Tył</option>
  43. <option value="Diesel">4x4</option>
  44.  
  45. </select>
  46.  
  47. <select id="choseone3" name="drugi_komplet_kol[]" tabindex="11" required>
  48.  
  49. <option value="typ-silnika" selected="selected">Tak</option>
  50. <option value="Benzyna">Nie</option>
  51.  
  52. </select>
  53.  
  54. <input placeholder="Lokalizacja pojazdu (miasto)" type="text" name="lokalizacja" tabindex="12" required>
  55.  
  56. <input placeholder="przegląd ważny do:" type="text" name="przeglad" tabindex="13" required>
  57.  
  58. <input placeholder="Łączna liczba włascicieli" type="text" name="liczba_wlascicieli" tabindex="14" required>
  59.  
  60. <textarea placeholder="Uwagi dotyczące stanu technicznego" name="message" tabindex="15" required></textarea>
  61.  
  62.  
  63. <span>Wyposażenie (CTRL+lewy przycisk myszy zaznacza kolejne opcje) *</span>
  64. <select id="choseone" class="option-select-custom" placeholder="Wyposażenie" name="wyposazenie[]" tabindex="16" multiple="multiple">
  65.  
  66. <option value="ABS">ABS</option>
  67. <option value="CD">CD</option>
  68. <option value="Centralny zamek">Centralny zamek</option>
  69.  
  70. </select>
  71.  
  72. <span>Dodaj zdjęcia (max 20 sztuk na jeden raz) *</span>
  73. <input id="upload" name="upload[]" type="file" multiple="multiple" />
  74.  
  75.  
  76. <input placeholder="Nr telefornu" type="text" name="tel" tabindex="17" required>
  77.  
  78.  
  79. <input placeholder="email" type="text" name="adres_emai" tabindex="18" required>
  80.  
  81. <textarea placeholder="UWAGI" name="message_uwagi" tabindex="19" required></textarea>
  82.  
  83. <button name="submit" type="submitd" id="contact-submit" data-submit="...Wysyłanie">Wyślij</button>
  84.  
  85.  
  86. </form>
  87.  



  1. <?php session_start();
  2. if(isset($_POST['submit'])) {
  3. $youremail = 'm.szkubiel@e-intermedia.pl';
  4. $fromsubject = 'Temat wiadomości';
  5. $name = $_POST['rodzaj_pojazdu'];
  6. $mail = $_POST['email'];
  7. $subject = $_POST['subject'];
  8. $message = $_POST['rok_produkcji'];
  9. $poj_silnika = $_POST['poj_silnika'];
  10. $moc_silnika = $_POST['moc_silnika'];
  11. $przebieg = $_POST['przebieg'];
  12. $lokalizacja = $_POST['lokalizacja'];
  13. $przeglad = $_POST['przeglad'];
  14. $liczba_wlascicieli = $_POST['liczba_wlascicieli'];
  15. $message = $_POST['message'];
  16. $tel = $_POST['tel'];
  17. $adres_emai = $_POST['adres_emai'];
  18. $message_uwagi = $_POST['message_uwagi'];
  19.  
  20. $typ_silnika = (isset($_POST['typ_silnika']));
  21. $skrzynia_biegow = (isset($_POST['skrzynia_biegow']));
  22. $naped = (isset($_POST['naped']));
  23. $drugi_komplet_kol = (isset($_POST['drugi_komplet_kol']));
  24. $wyposazenie = (isset($_POST['wyposazenie']));
  25.  
  26.  
  27. if(count($_FILES['upload']['name']) > 0){
  28.  
  29. $rand = rand();
  30.  
  31. $createFolder = uniqid();
  32. mkdir('uploads/'.$createFolder);
  33.  
  34. for($i=0; $i<count($_FILES['upload']['name']); $i++) {
  35.  
  36. $tmpFilePath = $_FILES['upload']['tmp_name'][$i];
  37.  
  38. if($tmpFilePath != ""){
  39.  
  40. $shortname = $_FILES['upload']['name'][$i];
  41. $explode = explode(".", $_FILES['upload']['name'][$i]);
  42. $filePath = "uploads/".$createFolder. '/' . rand().'.'.$explode[1];
  43.  
  44. if(move_uploaded_file($tmpFilePath, $filePath)) {
  45. $files[] = $shortname;
  46.  
  47. echo $filePath.'<hr>';
  48. }
  49. }
  50. }
  51.  
  52.  
  53. }
  54.  
  55. $to = $youremail;
  56. $headers = 'MIME-Version: 1.0' . "\r\n";
  57. $headers .= 'Content-type:text/html; charset=UTF-8' . "\r\n";
  58. $headers .= "From: ".$_POST['name']."<".$_POST['Email'].">\r\n";
  59. $headers .= "Reply-To: ".$_POST["email"]."\r\n";
  60.  
  61. $mailsubject = $fromsubject;
  62.  
  63. $body .= $fromsubject.'
  64.  
  65.  
  66. Rodzaj pojazdu: '.$name.'
  67. <br>
  68. <hr>
  69. Marka: '.$mail.'
  70. <br>
  71. <hr>
  72. Model: '.$subject.'
  73. <br>
  74. <hr>
  75. Rok produkcji: '.$message.'
  76. <br>
  77. <hr>
  78. Typ silnika: '.print_r($typ_silnika).'
  79. <br>
  80. <hr>
  81. Pojemność silnika: '.$poj_silnika.'
  82. <br>
  83. <hr>
  84. Moc silnika: '.$moc_silnika.'
  85. <br>
  86. <hr>
  87. Przebieg: '.$przebieg.'
  88. <br>
  89. <hr>
  90. Skrzynia biegów: '.$skrzynia_biegow.'
  91. <br>
  92. <hr>
  93. Napęd: '.print_r($naped).'
  94. <br>
  95. <hr>
  96. Drugi komplet kół: '.print_r($drugi_komplet_kol).'
  97. <br>
  98. <hr>
  99. Lokalizacja: '.$lokalizacja.'
  100. <br>
  101. <hr>
  102. Przegląd: '.$przeglad.'
  103. <br>
  104. <hr>
  105. Łączna liczba właścicieli'.$liczba_wlascicieli.'
  106. <br>
  107. <hr>
  108. Uwagi dotyczące stani technicznego'.$message.'
  109. <br>
  110. <hr>
  111. Wyposażenie: '.print_r($wyposazenie).'
  112. <br>
  113. <hr>
  114. Telefon: '.$tel.'
  115. <br>
  116. <hr>
  117. Adres e-mail: '.$adres_emai.'
  118. <br>
  119. <hr>
  120. UWAGI: '.$message_uwagi.'
  121. <br>
  122. <hr>
  123. <a href="https://fck-auto.de/form/galeria.php?upload=/'.$createFolder.'">test</a>
  124.  
  125. ';
  126.  
  127. echo "Thank you fo your feedback. I will contact you shortly if needed.<br/>Go to <a href='/index.php'>Home Page</a>";
  128. mail($to, $subject, $body,$headers);
  129. } else {
  130. echo "You must write a message. </br> Please go to <a href='/index.html'>Home Page</a>";
  131. }
  132. ?>
trueblue
1. Dla <select> z jednokrotnym wyborem nie ma sensu nazwa tablicowa.
2. Sprawdź jakie są wartości atrybutów value w innych <select>.
3. Jeśli dodałeś atrybut required, to ma on sens przy ustawieniu pierwszej opcji bez atrybutu value.
4. Element <fieldset> stosuje się dla grupy pól (stąd nazwa), często w powiązaniu z elementem <legend>. U Ciebie brakuje <label>.
gino
Poza tym dla pola mailowego użyj typu email, wstępnie zrobi walidację poprawności wpisanego maila, zrób też obsługę wrzucania plików przez ten formularz, określ MIME plików jakie można wrzucić.

gino
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.