Avatar
DREAMDEV
Člen
Avatar
DREAMDEV:

ahoj, rad by som vedel ake status kody kedy pouzit pri presmerovani napriklad v tychto pripadoch:
1.) ked 2 url adresi ukazuju na ten isty obsah je to 301?
2.) ked sa nenajde napriklad ID produktu v databaze 302 redirect na 404 error page?
3.) ked sa nieco pokazi (napr pri ukladani do databazi aky status kdo pouzit na redirect po neuspesne prebehnutej akcii?
4.) ked akcia prebehne tak ako má (napr vsetko sa ulozi a potom redirect na index) aky kod pouzit?

Odpovědět 5. října 20:52
"minulosť je na to aby si odhalil chyby ktoré sa stali a v prítomnosti ich opravil pre lepšiu budúcnosť" - Ja
Avatar
Pavol Hejný
Redaktor
Avatar
Odpovídá na DREAMDEV
Pavol Hejný:
  1. Ano 301

V dalších případech je spíše lepší žádný redirect nepoužívat, ale rovnou odpovědět příslušným kódem:

  1. Nejlepší je rovnou odpovědět stránkou 404
  2. Pokud se něco pokazí na serveru odpovídá se kódem 500
  3. Pokud je vše OK použít stránku s kódem 200 (ten je defaultní)
Nahoru Odpovědět  +4 10. října 22:08
http://pavolhejny.cz/
Avatar
Pavol Hejný
Redaktor
Avatar
Odpovídá na DREAMDEV
Pavol Hejný:

Btw. ještě u těch chyb je důležité rozlišovat chybu uživatele - to jsou kódy 4XX (např. 404 - to co se ptá neexistuje nebo 403 to co se ptá nemá přístup.) A kódy 5XX - něco se po na serveru.

Nahoru Odpovědět  +2 12. října 15:44
http://pavolhejny.cz/
Avatar
DREAMDEV
Člen
Avatar
DREAMDEV:

OK tak dajme tomu ze nastane takato situacia:
Uzivatel odosle formular. Formular sa spracuje a potom chcem zobraziť index. V MVC to asi inak ako redirectom nepôjde takze aky kod pouzit na toto presmerovanie? 302?

Nahoru Odpovědět 12. října 21:06
"minulosť je na to aby si odhalil chyby ktoré sa stali a v prítomnosti ich opravil pre lepšiu budúcnosť" - Ja
Avatar
Petr Linhart
Člen
Avatar
Odpovídá na DREAMDEV
Petr Linhart:

MVC je návrhový vzor a nemá nic společného s přesměrováním.
PHP na to má funkci header(), která se zavolá po zpracování formuláře

<?php
/**
* Tady se zpracuje formulář
*/
header('Location: http://www.neco.cz');

případně s HTTP status kódem

<?php
/**
* Tady se zpracuje formulář
*/
header('Location: http://www.neco.cz', TRUE, 302);

Ohledně vhodného kódu, tak po formuláři je to asi 302 nebo 303, pokud přesměrováváš z důvodu přesunu obsahu na jinou adresu pak asi 307.

 
Nahoru Odpovědět  +1 13. října 18:23
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.