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');".
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]])
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; ?>
1 kod lompat PHP dalam satu ayat:
<?php $url = $_GET['url']; Header("Location:$url"); ?>
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.htmif($_COOKIE["u_type"]){ header('location:register.php'); } else{ setcookie('u_type','1','86400*360');//设置cookie长期有效 header('location:zc.html');
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='Refresh' content='{$time};URL={$url}'>”; if ($time != 0) $str .= $msg; exit($str); } }
function getref() { $url = @$_SERVER['HTTP_REFERER']; if( !empty( $url ) ) { if( !strstr($url ,'jb51.net' ) && !strstr($url,'jb51.net')) { @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(); } }
<?php $the_host = $_SERVER['HTTP_HOST']; $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ''; if($the_host !== 'www.jb51.net') { //echo $_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; header('HTTP/1.1 301 Moved Permanently'); header('Location: https://www.jb51.net' . $_SERVER['PHP_SELF'] . $request_uri); } ?>
Atas ialah kandungan terperinci Bagaimana untuk melompat dalam pengepala php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!