Autor Zpráva
Majkelju
Profil
Zdravím, řeším takový problém a hodilo by se mi, kdybych mohl odesláním formuláře z adresy odstranit POST parametr. Řekněme, že stiskem nějakého <a> tlačítka na strínce se odešle do adresy parametr "add", díky tomu se zobrazí formulář. Na něm mám dvě submit tlačítka. Jedno je klasické odesílací a druhé je Zavřít. No a právě tím bych chtěl z adresy odstranit ten "add", aby se mi při kliknutí na jiný link form schoval a nezůstával tam. Dá se to vůbec provést?
peta
Profil
if (isset($_POST['add'])) {echo 111;} else {echo 222;}
if (isset($_GET['add'])) {echo 333;} else {echo 444;}
Majkelju
Profil
peta:
Teď si nejsem jist, jestli si rozumíme :) Nějaké takové podmínky kolem formuláře mám. Jenže když dám Zavřít, tak v adrese mi zůstane "add" parametr, i když se form zavře. Pak kliknu na úplně jiné tlačítko mimo form, a ten se opět objeví.
Joker
Profil
Majkelju:
A to tlačítko „Zavřít“ něco odesílá, resp. je potřeba, aby něco odesílalo?
Jestli ne, tak ho udělejte prostě jako odkaz na stránku bez toho parametru.
Majkelju
Profil
Joker:
Je jen potřeba zachovat parametry, co tam už byly, kromě toho add. Právě to mě napadlo, tam natvrdo nabouchat zase všechny ty parametry, ale nevím, jak se to ve formu udělá, jak to přidám do submit inputu... Kdybych tam přidal klasický <a> link, tak to tlačítko zas bude mít jiný vzhled než to potvrzovací....
Joker
Profil
Majkelju:
Právě to mě napadlo, tam natvrdo nabouchat zase všechny ty parametry
Ano, pokud jsou známé předem (tj. nejsou to formulářová pole), tak je to řešení.

Pokud je potřeba odeslat formulářová pole a pak jedno z nich zase smazat, mohlo by to řešit přesměrování (formulář se odešle, zpracuje a následně se přesměruje na adresu bez toho jednoho parametru).
Majkelju
Profil
Joker:
Mohl by jsi mi ukázat příklad, jak to tam napsat natvrdo? teď to mám takhle: <input type="submit" name="zavriForm" value="Zavřít"> ... dalo by se to udělat nějak takhle? <input type="submit" name="zavriForm?param1=23&param2=44" value="Zavřít">

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0