Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Problém s <form>

Pokouším se v php upravit skript pro zobrazení znalostních testů. V původním skriptu je možné vybrat si test takhle:

echo "<form action='' method='POST'>
<select class='textbox' name='cat'>";
while($cat=dbarray($getcats))
{
echo "<option value='".$cat['cat']."'>".$cat['cat']."&nbsp;</option>";
}
echo "</select>&nbsp;<input class='button' type='submit' value='Přejít na test'>
</form>";

Nelíbí se mi to roletové menu a radši bych udělal seznam s radio buttonem. Upravil jsem to tedy takhle:

echo "<form action='' method='POST'>";
echo "<table border='0' width='100%'><tr><td class='tbl1'>";
while($cat=dbarray($getcats))
{
echo "<input type='radio' name='cat' value='".$cat['cat']."'>&nbsp;".$cat['cat']."<br />";
}
echo "</td></tr></table>";
echo "<input type='hidden' name='cat' value='".$_POST['cat']."'>";
echo "<input class='button' type='submit' value='Přejít na test'>
</form>";

... jenže to nefunguje... ten druhý skript nevrací hodnoty jako ten první... Neuměl byste někdo říct, kde je chyba?

Díky.

Předmět Autor Datum
Proč tam máš tento řádek? echo "<input type='hidden' name='cat' value='".$_POST['cat']."'>"; Já by…
host 08.09.2007 08:53
host
No, se mnou je to tak: protože to moc neovládám, dívám se, co který kousek kódu dělá když najdu něco… poslední
Drbo 08.09.2007 10:12
Drbo

Proč tam máš tento řádek?

echo "<input type='hidden' name='cat' value='".$_POST['cat']."'>";

Já bych jej zkusil vyhodit a teprve po odeslání formuláře si do proměnné přiřadit vybraný test:

$cat = $_POST['cat'];

No, se mnou je to tak: protože to moc neovládám, dívám se, co který kousek kódu dělá když najdu něco, co mi vyhovuje, použiju to... a v tom kusu kódu, který jsem použil ten řádek prostě byl... :)) Nicméně problém je vyřešen, protože jsem tam měl dvakrát stejnou hodnotu "name". Tu jsem změnil a už to chodí...

Zpět do poradny Odpovědět na původní otázku Nahoru