Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk melompat dalam pengepala php

Bagaimana untuk melompat dalam pengepala php

藏色散人
Lepaskan: 2023-03-17 15:28:01
asal
7392 orang telah melayarinya

Cara melaksanakan lompatan dalam pengepala PHP: 1. Gunakan "Header("Location:$url");" untuk melaksanakan lompatan 2. Gunakan jika penghakiman untuk melaksanakan lompatan, dan pernyataan lompatannya adalah seperti " if($_COOKIE["u_type"]){ header('location:register.php'); } else{ setcookie('u_type','1','86400*360');".

Bagaimana untuk melompat dalam pengepala php

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer Dell G3.

Bagaimana untuk melompat dalam pengepala php?

Ringkasan beberapa isu yang perlu diberi perhatian apabila menggunakan Pengepala PHP untuk lompat halaman

Gunakan pengepala("location:test.php") dalam PHP Sila beri perhatian kepada perkara berikut semasa melompat, yang akan membantu menyelesaikan beberapa masalah yang sering dihadapi oleh orang baru

1 Fungsi header()

Fungsi header() adalah sebahagian daripada lompat halaman dalam PHP Kaedah yang sangat mudah. Fungsi utama fungsi header() adalah untuk mengeluarkan header protokol HTTP (header) ke penyemak imbas.

Fungsi pengepala() ditakrifkan seperti berikut:

void header (string string [,bool replace [,int http_response_code]])
Salin selepas log masuk

Penggantian parameter pilihan menunjukkan sama ada untuk menggantikan pengepala serupa sebelumnya atau menambah pengepala jenis yang sama (www.jb51. net) pengepala, yang lalai kepada penggantian.

Parameter pilihan kedua http_response_code memaksa kod respons HTTP kepada nilai yang ditentukan. Pengepala jenis Lokasi dalam fungsi pengepala ialah panggilan pengepala khas, sering digunakan untuk melaksanakan lompatan halaman. Nota:

1. Tidak boleh ada ruang antara lokasi dan ":", jika tidak, ia tidak akan melompat.

2. Tidak boleh ada sebarang output sebelum menggunakan pengepala.

3. Kod PHP selepas pengepala juga akan dilaksanakan. Contohnya, ubah hala pelayar ke jb51.net

<?php 
 //重定向浏览器 
header("Location: https://www.jb51.net"); 
 //确保重定向后,后续代码不会被执行 
exit;
?>
Salin selepas log masuk

1 kod lompat PHP dalam satu ayat:

<?php 
$url = $_GET[&#39;url&#39;];
Header("Location:$url");
?>
Salin selepas log masuk

2 >Kod adalah seperti berikut:

Nota: Simpan sebagai zc.php Apabila pengguna melawati zc.php, tentukan sama ada kuki wujud (www.jb51.net) Jump untuk mendaftar.php, jika ia tidak wujud, buat kuki dan kemudian lompat ke zc.htmldaripada:https://www.jb51.net/phper/php-cy/62883.htm
if($_COOKIE["u_type"]){ header(&#39;location:register.php&#39;); } else{ setcookie(&#39;u_type&#39;,&#39;1&#39;,&#39;86400*360&#39;);//设置cookie长期有效 header(&#39;location:zc.html&#39;);
Salin selepas log masuk

Fungsi pengalihan URL

Di atas tidak boleh mengembalikan kod status 404 Jika kod status 404 dikembalikan selepas halaman melompat, kita boleh melakukan perkara berikut
// URL重定向
function redirect($url, $time=0, $msg=”) {
 //多行URL地址支持
$url = str_replace(array(“n”, “r”), ”, $url);
 if ( empty($msg) )
 $msg = “系统将在{$time}秒之后自动跳转到{$url}!”;
if (!headers_sent()) {
 // redirect
 if (0 === $time) {
 header(‘Location: ‘ . $url);
 } else {
 header(“refresh:{$time};url={$url}”);
echo($msg);
 }
 exit();
 } else {
 $str = “<meta http-equiv=&#39;Refresh&#39; content=&#39;{$time};URL={$url}&#39;>”;
if ($time != 0)
 $str .= $msg;
 exit($str);
 }
 }
Salin selepas log masuk

Jika anda mahu melakukan 301. , ia hampir sama
function getref()
 {
 $url = @$_SERVER[&#39;HTTP_REFERER&#39;];
 if( !empty( $url ) )
 {
 if( !strstr($url ,&#39;jb51.net&#39; ) && !strstr($url,&#39;jb51.net&#39;))
 {
 @header("http/1.1 404 not found");
 @header("status: 404 not found");
 include("404.html");//跳转到某一个页面,推荐使用这种方法
 exit();
 }
 }
 else
 {
 @header("http/1.1 404 not found");
 @header("status: 404 not found");
 include("404.html");//跳转到某一个页面,推荐使用这种方法
 exit();
 }
 }
Salin selepas log masuk

Pembelajaran yang disyorkan: "
<?php 
 $the_host = $_SERVER[&#39;HTTP_HOST&#39;];
 $request_uri = isset($_SERVER[&#39;REQUEST_URI&#39;]) ? $_SERVER[&#39;REQUEST_URI&#39;] : &#39;&#39;;
 if($the_host !== &#39;www.jb51.net&#39;)
 {
  //echo $_SERVER[&#39;HTTP_HOST&#39;].$_SERVER[&#39;PHP_SELF&#39;];
  header(&#39;HTTP/1.1 301 Moved Permanently&#39;);
  header(&#39;Location: https://www.jb51.net&#39; . $_SERVER[&#39;PHP_SELF&#39;] . $request_uri);
 }
 ?>
Salin selepas log masuk
Tutorial Video PHP

"

Atas ialah kandungan terperinci Bagaimana untuk melompat dalam pengepala php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan