Autor | Zpráva | ||
---|---|---|---|
Lion76 Profil * |
#1 · Zasláno: 9. 1. 2008, 11:46:24
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 |
#2 · Zasláno: 9. 1. 2008, 11:57:07
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 * |
#3 · Zasláno: 9. 1. 2008, 12:08:55
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 |
#4 · Zasláno: 9. 1. 2008, 12:10:30
header('Location: /prehled/?chyby=...', TRUE, 303);
|
||
Lion76 Profil * |
#5 · Zasláno: 9. 1. 2008, 12:22:53
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 |
#6 · Zasláno: 9. 1. 2008, 12:26:59
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 |
#7 · Zasláno: 9. 1. 2008, 12:29:54
Ulož si chybovou hlášku do session a po redirektu ji vypiš.
|
||
Lion76 Profil * |
#8 · Zasláno: 9. 1. 2008, 12:46:05
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 * |
#9 · Zasláno: 9. 1. 2008, 12:48:44
Mastodont
A jina cesticka nevede, nez to ulozit do session a po vypsani session vyprazdnit? |
||
djlj Profil |
#10 · Zasláno: 9. 1. 2008, 12:50:25 · Upravil/a: djlj
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 * |
#11 · Zasláno: 9. 1. 2008, 13:03:55
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 |
#12 · Zasláno: 9. 1. 2008, 13:11:00
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 * |
#13 · Zasláno: 9. 1. 2008, 13:34:46
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. |
||
Časová prodleva: 16 let
|
0