<?php
header("Location:page1.php");
header("Location:page2.php");?>
第二个
<?php
$set=1;
if($set==1)
header("Location:page.php");
else
header("Location:page.php");?>
location对应的文件什么时候得到的?编译时还是运行时?
跳转到本地文件。有两个header(“location”)时但location怎么知道跳转到哪个?location中的值什么时候得到?写错了,第二个程序中分别是page1.php和page2.php,两个程序运行完跳转到不同文件
跳转到本地文件。有两个header(“location”)时但location怎么知道跳转到哪个?location中的值什么时候得到?
追答当然是最后一个了。
就像赋值变量一样。
header 发出的是响应头
第一个是跳到最后一个,但第二个程序是跳到第一个,在运行时判断时跳到了第一个,如果是location在运行时赋值他怎么知道后面还有几个header?如果解释时赋值又怎么进行判断?
追答它是发出的响应头,是在 运行时候 的。
也不叫赋值,就 像 print 一样,只不过 print 的内容是在正文里(HTTP协议的正文) , header 是在响应头(报头)里。
那header是在程序运行完后才跳转?程序运行完后最终决定header跳转到哪个页面,也就是说在本程序执行完了它才跳转,页面跳转并不能用来阻止程序中其他语句的执行?
追答对。不能。
location 发出的是一个 302 跳转的响应头,浏览器接收到这个响应头后,立即跳转。