Ⅰ php中的header函數
header("Location:page.php");
是為了跳轉到其它頁面。當然是運行到它時才跳過去。
編譯時還是運行時執行?這個問題問在include 與 require合適。。。。
注意區分它與 include 與 require區別
另外補充回答:
==================
頁面跳轉並不能用來阻止程序中其他語句的執行?
頁面已經跳轉了,以前的頁面header語句後的邏輯代碼是會繼續執行的,但是輸出語句是不會執行的。
你可以拿個簡單的例子做實驗:
-----------------------------
文件 a.php
<?php
header('Location:b.php');
echo '我是跳轉前的頁面a.php!';
?>
文件 b.php
<?php
echo '我是跳轉後的頁面b.php!';
?>
運行a.php,發現輸出的是 "我是跳轉後的頁面b.php"
如果有二個header以上的header 則以最後一個為准。
同樣上面的例子:
-----------------------------
文件 a.php
<?php
header('Location:b.php');
header('Location:c.php');
echo '我是跳轉前的頁面a.php!';
?>
運行a.php,會跳到c.php
再來個例子證明,邏輯代碼是會執行的。
--------
<?php
header('Location:b.php');
$a = 'c.php';
header('Location:'.$a);
echo '我是aa.php';
?>
結果跳到了c.php,證明$a='c.php'執行了。
---------------------
總結:
header後,想禁止後面語句執行,你可以加上exit; 或return;
如下
<?php
header('Location:b.php');
return;
//exit;
$a = 'c.php';
header('Location:'.$a);
echo '我是a.php';
?>
則只會跳到b.php頁面,不會到c.php.
---------------------
這個答案,你滿意不?:)
Ⅱ php header跳轉失敗
在PHP中用header("location:test.php")進行跳轉要注意以下幾點,有助於解決一些新手經常遇到的問題 1、location和「:」號間不能有空格,否則會出錯。 2、在用header前不能有任何的輸出。 3、header後的PHP代碼還會被執行。