Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Formularz - metoda POST - elementy listy rozwijanej brane z tabeli i wysłanie wybranego elementu metodą POST
wluczykuj
post 31.01.2021, 15:06:23
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 13.12.2016

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


Cześć,

mam prosty formularz z listą rozwijaną elementów do wyboru.

Elementy które trafiają do listy rozwijanej są utworzone w tablicy.
W formularzu na podstronie index.php za pomocą pętli wyświetlam wszystkie elementy z tablicy.


Wybrany z listy rozwijanej element chcę wysłać i wyświetlić na podstronie /results.php. W jaki sposób mam napisać kod w pliku results.php odbierający wybrany element w formularzu (tu nie wiem jak wskazać o jaki element dokładnie z tablicy chodzi czy o 0, 1, 2 czy może 3..? ) i jak wyświetlić ten element?


  1. <?php
  2. $data = [
  3.  
  4. 'cars' => ['ford', 'volvo', 'tesla', 'opel']
  5. ];
  6.  
  7. ?>
  8.  
  9. <form action='results.php' method='post'>
  10. <select>
  11. <?php foreach ($data['cars'] as $cars) : ?>
  12. <option value="<?php $data['cars']?>"> <?php echo $cars ?> </option>
  13. <?php endforeach; ?>
  14. </select>
  15. <button name='subimt'>wyślij</button>
  16. </form>
  17.  





Go to the top of the page
+Quote Post
viking
post 31.01.2021, 17:16:39
Post #2





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Var_dump($_POST)
Nie masz name w select.


--------------------
Go to the top of the page
+Quote Post
wluczykuj
post 31.01.2021, 17:46:18
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 13.12.2016

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


Racja, zapomniałem.

Hmm.. Przetestowałem wysyłanie prostego inputa name="info" i wyświetlanie na result.php wprowadzonej danej - to działa. Ale niestety wciąż nie działa mi wyświetlenie wybranej danej z listy rozwijanej, ponizej kod:

index.php
  1. <?php
  2. $data = [
  3.  
  4. 'cars' => ['ford', 'volvo', 'tesla', 'opel']
  5. ];
  6.  
  7. ?>
  8.  
  9. <form action='results.php' method='post'>
  10. <select name="selectCar">
  11. <?php foreach ($data['cars'] as $cars) : ?>
  12. <option value="<?php $data['cars']?>"> <?php echo $cars ?> </option>
  13. <?php endforeach; ?>
  14. </select>
  15. <input name="info" placeholder="info">
  16. <button name='submit' type='submit'>Submit Information</button>
  17. </form>
  18.  


result.php
  1. <?php
  2.  
  3. $select = $_POST['selectCar'];
  4. $info = $_POST['info'];
  5.  
  6. var_dump($info);
  7. var_dump($select);
  8. ?>
Go to the top of the page
+Quote Post
viking
post 31.01.2021, 17:49:37
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


  1. value="<?php $data['cars']?>"> <?php echo $cars ?>


Widzisz różnicę?


--------------------
Go to the top of the page
+Quote Post
wluczykuj
post 31.01.2021, 18:10:59
Post #5





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 13.12.2016

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


Próbowałem to teraz ogarnąć, ale nie bardzo widzę różnice ponieważ ten fragment mam taki sam:

  1. value="<?php $data['cars']?>"> <?php echo $cars ?>


przykładowy wynik mam taki: string(11) "jakies info" string(0) ""
Go to the top of the page
+Quote Post
viking
post 31.01.2021, 19:27:48
Post #6





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


To bardziej $data['cars'] -> echo $cars

Dlaczego ten temat jest w OOP?

Ten post edytował viking 31.01.2021, 19:28:07


--------------------
Go to the top of the page
+Quote Post
wluczykuj
post 31.01.2021, 20:12:51
Post #7





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 13.12.2016

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


Jak można zmienić kategorie na forum? Bo fakt, błędnie przypisany wątek, wybacz.

Tak czy inaczej wklejam jeszcze do tego wątku kod który troszkę zmieniłem i działa. Dziękuję za pomoc.

index.php
  1. <?php
  2.  
  3. $cars = ['ford', 'volvo', 'tesla', 'opel']; // ten zapis jest prostszy niż w poprzednim kodzie
  4.  
  5. ?>
  6.  
  7. <form action="results.php" method="POST">
  8. <label>Wybierz samochód</label>
  9. <select name="cars">
  10. <?php foreach ($cars as $car) : ?>
  11. <option value="<?php echo $car ?>"><?php echo $car ?></option>
  12. <?php endforeach; ?>
  13. </select>
  14. <button name='submit' type='submit'>Wyślij</button>
  15.  
  16. </form>
  17.  


results.php

  1. <?php
  2.  
  3. $selected = $_POST['cars'];
  4. echo 'Wybrałeś: ' .$selected;
  5.  
  6. ?>


__
Jeszcze w nawiązaniu do poprzedniego niedziałającego kodu, wyszedłem od tego poniższego zapisu i to chyba był błąd bo nie poradziłem sobie potem z tym zarówno w 'formie' jak i w results.php, w sumie nie wiem jakbym miał z tym zadziałać.

  1. $data = [
  2. 'cars' => ['ford', 'volvo', 'tesla', 'opel']
  3. ];

Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 26.04.2024 - 16:37