[php] Formularze - wielokrotne używanie jednego "name"
Ostatnio zmodyfikowano 2013-05-16 20:57
Kopczak1995 Temat założony przez niniejszego użytkownika |
[php] Formularze - wielokrotne używanie jednego "name" » 2013-05-16 20:29:36 Witam, mam taki problem. Zrobiłem listę rozwijalną, w której wybieram jakąś figurę, której pole mam liczyć. Tak to wygląda. <form action="zadanie3.php" method="GET"> <select name="lista_rozwijalna"> <option value="nic" ></option> <option value="Kwadrat" >Kwadrat</option> <option value="Prostokąt" >Prostokąt</option> <option value="Trójkąt" >Trójkąt</option> <option value="Koło" >Koło</option> </select><br /> <input type="submit" value="Potwierdź wybór figury" /><br /> </form>
Jak widać przerzuca mnie dalej na tą samą stronę i w zależności od wybranej figury pojawiają mi się pola z wpisywaniem boków itd. Naturalnie jest to zrobione na w switch'u. Jeżeli nic nie zostało wybrane u góry, to tego co tu wypisałem po prostu nie widać. <?php $zmienna = $_GET["lista_rozwijalna"]; print $zmienna;
if(!isset ($_GET["lista_rozwijalna"])) $zmienna = "nic"; if ($zmienna == "nic") print "<br><br>Nie wybrano niczego"; elseif ($zmienna != "nic") { print" <br><br> Wybrano figurę $zmienna.<br> Teraz podaj kolejne dane Potrzebne do obliczenia pola. <br><br> "; switch($_GET["lista_rozwijalna"]) { case 'Kwadrat': { print" <form action=\"zadanie3.php\" method=\"GET\"> <input type=\"text\" name=\"lista_rozwijalna\" value=\"Kwadrat\" disabled=\"disabled\" /><br> <label for=\"L_1\">Podaj wartość a= </label><input type=\"text\" name=\"A\" id=\"L_1\" /><br> <input type=\"submit\" value=\"Oblicz pole!\" /> </form> "; } break; case 'Prostokąt' (...) Reszta switch'a ?>
Problem pojawia się gdy chcę przekazać formularzem dane do obliczania pola. Są niby przekazane, lecz znika mi $zmienna przechowująca wartość z pierwszego formularza name="lista_rozwijalna" Kombinowałem jak łysy koń pod górę tworząc jak u góry coś takiego: <input type=\"text\" name=\"lista_rozwijalna\" value=\"Kwadrat\" disabled=\"disabled\" /><br> |
Ale niestety dowiedziałem się, że można tylko raz użyć jednej nazwy, tego całego "name" i program mi już tego nie wysyła, a co za tym idzie nie widzę drugiego formularza i wyniku pod nim :( Ktoś ma jakiś pomysł co zrobić? |
|
xevuel |
» 2013-05-16 20:50:58 Elementy formularzy z atrybutem disabled nie są wysyłane. Żeby przechować zmienną, zainteresuj się sesjami i tablicą superglobalną $_SESSION. Jeśli koniecznie chcesz schować coś w kodzie HTML, użyj hidden, a nie text. Literatura: |
|
Kopczak1995 Temat założony przez niniejszego użytkownika |
» 2013-05-16 20:57:36 Dzięki xevuel :) Myślałem o $_SESSION, wiem że coś takiego jest, ale niestety potrzebuję tego kodu na jutro. Później może się pobawię i w ten sposób ;)
//Edit O! Zapewne się przyda :) //Edit2 Dobra w sumie dowiedziałem się czego chciałem, więc kulturalnie zamykam temat :P |
|
« 1 » |