Datuve :: Forums :: Arhīvs :: PHP header

Datuve

Mana Datuve

Reģistrācija | Noteikumi | Paroles atjaunošana



Forums

Ieskaties


Raksti

Lietotāji online

Lietotāji online: 194

Reģistrētie lietotāji online: 0

Viesi online: 194

Datuve.lv video
Top.LV

PHP header

Ievietoja: cilveks18 @ 2010.06.04 21:14  

Ja php izpildās šāda funkcija:
header("Location: index.php") ,tad lapa automātiski pārlādēsies uz index.php.
Jautājums:  Vai parējais skripts, kas sekos pēc header() netiks izpildīts tapāt, kā tas ir ar exit() ???

Komentāri:

#1 usver @ 2010.06.05 00:45

95% gadījumu neizpildīsies, taču, ja kāds gribēs paspēlēties, tad ignorēs to header() un skatīsies, kas notiek tālāk. Nu kaut vai prasot lapu ar telnet, kam neko tāds header('location .. ') neizsaka. Tāpēc pēc header() vajag arī die() vai exit()

#2 hasherr @ 2010.06.05 03:05

Ar header(..) tu uzstādi HTTP headeri, viss, PHP interpretators rikšo tālāk, līdz secina, ka jābeidz darbs (die / exit / pēdējā koda rinda). Ja būsi kko saģenerējis responses ķermenim, to, protams, neviens headerus respektējošs pārlūks nerādīs, lai gan šis saģenerētais kontents HTTP responsē būs.

#3 Blackout @ 2010.06.05 09:19

Manas paranojas dēļ izmantoju šādu variantu:

function redirect($url){
header('Location: '.$url);
exit('<meta http-equiv="refresh" content="0;url='.$url.'">');
}

redirect('index.php');

#4 cilveks18 @ 2010.06.05 11:01

Paldies par info!