Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[php] Formularze - wielokrotne używanie jednego "name"

Ostatnio zmodyfikowano 2013-05-16 20:57
Autor Wiadomość
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ć?
P-83118
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:
P-83121
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
P-83122
« 1 »
  Strona 1 z 1