Autor Zpráva
Lion76
Profil *
Zdravim, mam formular, ktery odesilam pres POST a zpracovavam ve stejnem souboru, kde je formular. Vypisovani hlasek funguje spravne, ale kdyz dam presmerovani header('Location: /prehled/', TRUE, 303);, tak se zadna hlaska nevypise. Zkousel jsem i zpracovani formalare v jinem souboru, ale stejne se ty hlasky vubec nevypisuji. Muzete mne prosim porad, jak mam docilit toho, aby se hlasky vypsaly i po presmerovani?
tiso
Profil
Lion76 - a čo by sa podľa teba malo vypísať? Aka hláška? je rozdiel odosielať hlavičky (headers) a generovať hlášky...
Lion76
Profil *
tiso

Jestli se data z formulare ulozily nebo jsou ve formulari nejake chyby. Jednotlive hlasky ukladam do promenne $chyby, ale tato promenna se vzdycky vyprazdni, kdyz dojde k presmerovani. Nechce se me to ukladat do $_SESSION, protoze nejprve to ulozim a potom to zase vymazu. Potrebuji elegantnejsi zpusob.
djlj
Profil
header('Location: /prehled/?chyby=...', TRUE, 303);
Lion76
Profil *
djlj

To jsem taky zkousel, ale v tomto pripade muzu ovlivnit vypisovani hlasek z adresniho radku a muzu si klidne vypsat hlasku, ze data byla ulozena do db, i kdyz ve formulari jsou chyby.
djlj
Profil
Lion76
header('Location: /prehled/?chyby=1', TRUE, 303);


if(..chyba.. == 1){
//cokoliv
}


Když to bude rozlišený číselně, nikomu se to nebude chtít měnit a navíc si tam nebude moct dopsat vlastní text.
Mastodont
Profil
Ulož si chybovou hlášku do session a po redirektu ji vypiš.
Lion76
Profil *
djlj

Presne takto jsem to mel a vypisovani hlasek ovlivnim pres adresni radek.

if(!isset($chyba)){
header('Location: /prehled/?chyba=0', TRUE, 303);
} else {
header('Location: /prehled/?chyba=1', TRUE, 303);
}
if($_GET['chyba'] == '0'){
echo "neni chyba";
}
if($_GET['chyba'] == '1'){
echo "je chyba";
}
Lion76
Profil *
Mastodont

A jina cesticka nevede, nez to ulozit do session a po vypsani session vyprazdnit?
djlj
Profil
vypisovani hlasek ovlivnim pres adresni radek
Kdo by se s tím dělal… Snad jen uživatel typu „dement“: „Tý jo, čísílko, zkusím, co to bude dělat!“ Normální člověk (tedy i ti, kteří nevědí, že nějaký adresový řádek existuje) si tu chybu přečte a zařídí se podle ní.
Lion76
Profil *
djlj

To ja vim.

si tu chybu přečte a zařídí se podle ní

a co kdyz se podle ni nezaridi a bude si hrat jako male dite. Neslo by to pri opetovnem odeslani uzivatele typu "dement" presmerovat na header('Location: /prehled/); ?
djlj
Profil
Lion76
No já nevím, jak ti to napsat, ale toho, kdo si bude hrát, ta chyba ani nezajímá. Můžeš kontrolovat referer, ale to je nespolehlivé.
Lion76
Profil *
djlj

Ze jsem to vubec testoval, ted z toho nebudu spat. :o) A pokud budu kontolovat $_SERVER['REQUEST_URI'], tak zase nebudu vedet, jestli se jedna o opetovne odeslani nebo je to presmerovani.

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