Autor | Zpráva | ||
---|---|---|---|
stepanka Profil * |
#1 · Zasláno: 4. 7. 2009, 10:18:22
Ahoj,
prosím, jak řešíte případy, když máte na stránce formulář, který končí více submit tlačítky? tzn. při kliknutí na první submit přejde uživatel na jinou stránku, při kliknutí na druhý zase na nějakou jinou, atd.. Jde to nějak udělat? Děkuju |
||
fopen Profil * |
#2 · Zasláno: 4. 7. 2009, 10:32:00
jednoducho
<input type="submit" name="action" value="Value1" /> <input type="submit" name="action" value="Value2" /> <input type="submit" name="action" value="Value3" /> ... |
||
stepanka Profil * |
#3 · Zasláno: 4. 7. 2009, 10:41:46
fopen
coto? :-) To přece nemůže fungovat... Co máš ve <form action"?">? Po odeslání toho, co píšeš, budeš mít akorát nastavené hodnoty $_POST['action'], ale zdá se mi hodně nepravděpodobné, že by to formulář pochopil tak, že na hodnotu $_POST['action'] se má odkázat.. |
||
Werewolf Profil |
#4 · Zasláno: 4. 7. 2009, 11:14:36 · Upravil/a: Werewolf
stepanka:
<?php ob_start(); session_start(); import_request_variables("p", "post_"); ?> <!-- něco něco něco --> <form action="<?php echo($_SERVER['REQUEST_URI']); ?>" method="post"> <!-- něco něco něco --> <input type="submit" name="action" value="Přejít tam" /> <input type="submit" name="action" value="Přejít jinam" /> <input type="submit" name="action" value="Navštívit Google" /> </form> <?php if($post_action == "Přejít tam") { header("Location: http://www.seznam.cz"); } elseif($post_action == "Přejít jinam") { header("Location: http://www.linuxsoft.cz/php"); } elseif($post_action == "Navštívit Google") { header("Location: http://www.google.cz"); } /* něco něco něco */ ?> <!-- něco něco něco --> <?php ob_end_flush(); ?> |
||
stepanka Profil * |
#5 · Zasláno: 4. 7. 2009, 11:21:11
Já vím, ale potřebuju z toho formuláře přenášet data.. Uživatel si tam zatrhne několik checkboxů a bude pokračovat na stránce "Přejít jinam" ... po header se už ale nedozvím $_POST hodnoty, které formulář předal... Zatím jsem to vyřešila pomocí JS, sice je to takové kostrbaté řešení, ale funguje.
|
||
fandaa Profil |
#6 · Zasláno: 4. 7. 2009, 11:22:14 · Upravil/a: fandaa
Werewolf
Nezapomínáš na to, že se taky budou posílat nějaké údaje, které se budou zpracovávat? Při přesměrování přes header tyto data ztratíš. stepanka Lze měnit action přes JavaScript, ale bacha na ty, kteří jej mají vypnutý. Edit: Ještě by se dalo použít Werewolfovo řešení s tím, že by se data uložily např. do $_SESSION, popř. $_COOKIE; poté by se přesměrovalo. |
||
Werewolf Profil |
#7 · Zasláno: 4. 7. 2009, 11:22:51 · Upravil/a: Werewolf
stepanka:
No dobrá. Já myslel, že jde čistě o redirect. Edit: fandaa: Ano, zapomínám. Edit2: Ovšem pokud jsou ty stránky, na které se přesměruje, na tom samém serveru, údaje se dají snadno uložit do session a pak číst. |
||
stepanka Profil * |
#8 · Zasláno: 4. 7. 2009, 11:36:35
ok, buď Javascript, nebo ukládat do session... Zkusím co bude lepší.. Děkuju moc všem.
|
||
Časová prodleva: 15 let
|
0