国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP Header函數(shù)跳轉(zhuǎn)時(shí)需要注意的一些問題

2024-09-04 11:48:40
字體:
供稿:網(wǎng)友

在PHP利用Header函數(shù)跳轉(zhuǎn)時(shí)需會碰到一些無法跳轉(zhuǎn)的問題,這里小編總結(jié)了常見的三種導(dǎo)致無法跳轉(zhuǎn)的例子與解決方法給各位,希望此例子對大家?guī)韼椭?

在通過php的header('Location:http://www.survivalescaperooms.com')做跳轉(zhuǎn)時(shí),有時(shí)會不成功,追其原因有以下幾種情況:

寫法錯(cuò)誤:

•location和“:”號間不能有空格,否則會出錯(cuò).

•在用header()前不能有任何的輸出.

•header后的PHP代碼還會被執(zhí)行,所以在函數(shù)之前最好加上exit()來停止之后程序的執(zhí)行,另外還有一個(gè)問題,算是比較低級了.

編碼報(bào)錯(cuò),代碼如下:header("location:http://www.survivalescaperooms.com/");

要求header前沒有任何輸出,否則會報(bào)錯(cuò),當(dāng)我們以 ANSI 格式編碼時(shí),多數(shù)默認(rèn)情況,可以正常實(shí)現(xiàn)PHP跳轉(zhuǎn),代碼如下:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

有時(shí)我們需要在網(wǎng)頁中事先判斷跳轉(zhuǎn)條件,如果符合則正常顯示網(wǎng)頁,而網(wǎng)頁是以 UTF-8 格式編碼,此時(shí)使用header則會報(bào)錯(cuò),原因是 UTF-8 編碼在文本開始處偷偷地輸出了三個(gè)字符(BOM),默認(rèn)對我們不可見,因此不滿足“header前沒有任何輸出”的條件,從而報(bào)錯(cuò).

解決方法是使用Notepad++等文本編輯器打開文件,轉(zhuǎn)為 UTF-8 無 BOM 編碼格式,保存退出即可.

PHP header 默認(rèn)302臨時(shí)重定向,如需要使用301永久重定向,可使用以下代碼:

  1. <?php 
  2.  header("HTTP/1.1 301 Moved Permanently"); 
  3.  header("Location: http://Vevb.com/"); 
  4. ?>  

如果不關(guān)注HTTP狀態(tài),可以使用JavaScript實(shí)現(xiàn)跳轉(zhuǎn),代碼如下:

<script type="text/javascript">
 window.location.href="http://www.survivalescaperooms.com/";
</script>

順序問題,代碼如下:

  1. <?php 
  2. if(1){ 
  3.     header("Location:http://www.baidu.com/"); 
  4.     header("Location:01.php"); 
  5.     header("Location:03.php"); 
  6.     header("Location:http://www.sina.com"); 
  7.     echo "111"
  8.     header("Location:http://www.g.cn"); 
  9.     echo "222"
  10.     header("Location:http://www.163.cn"); 
  11.     echo "333"
  12. ?> 

如上代碼為什么不跳轉(zhuǎn)到header("Location:http://www.baidu.com/");?

另外一個(gè)問題服務(wù)器讀PHP文件,是讀一點(diǎn)發(fā)送給客戶端一點(diǎn),還是一次讀完后,才發(fā)送給客戶.Javascript是怎么個(gè)讀法?

php腳本是從上往下是順序讀的,在服務(wù)器端一次性讀完以后發(fā)給客戶端,這個(gè)文件,當(dāng)讀到if時(shí)本應(yīng)該發(fā)送header("Location:http://www.baidu.com/");但是下面還有header("Location:01.php");

header("Location:03.php");

header("Location:http://www.sina.com");就會繼續(xù)讀到最后一條而echo的優(yōu)先級低于低于header,當(dāng)很多個(gè)header并列時(shí)就會把最后一條顯示,就像顯示數(shù)組一樣,$forum[],當(dāng)你寫 echo $forum就只會把數(shù)組中的最后一條記錄顯示,javascript是客戶端腳本,當(dāng)你的頁面下載后以后所有的javascript腳本文件就已經(jīng)在你的電腦里面了,只有對其操作時(shí)才會有響應(yīng).

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 大宁县| 乾安县| 揭东县| 淮南市| 泰来县| 永胜县| 辉县市| 华蓥市| 西和县| 博野县| 水城县| 澄江县| 天水市| 鄂温| 广平县| 扶绥县| 尉犁县| 辽中县| 宾阳县| 祁阳县| 师宗县| 永寿县| 光泽县| 周口市| 临夏县| 登封市| 沾益县| 高州市| 陆丰市| 韶山市| 蓝山县| 建平县| 墨江| 绥中县| 通许县| 双辽市| 莲花县| 黔西| 宁武县| 广丰县| 通榆县|