[PHP] PHP 页面跳转到另一个页面的多种方法方法总结

[复制链接]
admin 发表于 2021-5-27 23:46:37 | 显示全部楼层 |阅读模式

登录后,购买下载资源更方便!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一、用HTTP头信息 . @9 A2 F* Y6 x0 _# P: Q2 o
也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。
0 P2 |' f9 s2 H- B) t5 a用HTTP头信息重定向到另外一个页面的方法如下:# x& Y; X8 F/ p$ I  |

; X9 |2 a4 l& u4 R复制代码 代码如下:
! p) F! ?6 ~3 F% l3 F0 V! j<?
# r8 ~5 O2 w! wif (isset($url))
0 K1 o3 L+ \  a, ]' k{
" Y1 @5 Q1 r/ x' ~# C0 NHeader("HTTP/1.1 303 See Other");   u2 b( W$ r$ |7 ]! N9 f: m
Header("Location: $url");
4 V5 [  E" c9 }7 m0 b  J: n% @) mexit; //from www.w3sky.com % S( Q5 E0 T5 Y; U! t* m/ V8 l
} # T6 m' @# |" ^: G
?> $ i6 j- F$ n, V9 n
注意一下,"Localtion:"后面有一个空格。 - d; h; f# ^! F' w5 F
二、用HTML标记
, T6 `6 i7 R; p) G* u. e* d9 g$ [用HTML标记,就是用META的REFRESH标记,举例如下:
% l( I) y, C( C2 r复制代码 代码如下:: _- y) F5 i1 L+ i% o
<? if (!isset($url)) exit;?> % X; r3 Z' K* Q
<HTML>
% ~4 B0 L5 T9 W: e: {/ {* E<HEAD> , g/ W9 v- p2 A5 K
<META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
( k" M0 \* H" N+ c1 ?</HEAD> . B$ A8 R" G# L+ J0 E7 O
<BODY>
. g# B7 O! U" p</BODY>
- w5 }& M5 o4 a</HTML> - {6 G$ Y5 L: Q+ C5 }6 s" T

0 w8 n; D! |( B1 V" r  C' {三、用脚本来实现
. X6 k1 O9 E, A, Y举例如下:
0 M/ [6 C& |: f0 E1 o复制代码 代码如下:6 L. @1 x) D2 l/ g6 e/ Z3 H/ Y; m& w
<? $ o. X) P0 D" V
$url="http://www.jb51.net"; 7 A! K3 m% T# c
echo "<!--<scrīpt LANGUAGE="Javascrīpt">"; 9 Z5 @: o/ D5 N  H7 M, W# V+ z
echo "location.href='$url'"; 5 _# v+ E6 M' \/ A9 J$ {2 N2 ]' D
echo "</scrīpt>-->";
, z) t' F: H2 n" T) k8 [  m0 f?>
7 E' i" y& K0 m) d5 e5 D8 e6 g. h7 S下面是补充  r; L4 }: n( n9 ]9 q5 i
1 T/ F, A6 A/ ~/ w. x$ c( t
第四种: , a; P3 V( a5 x/ z6 i9 P: C
echo "< meta http-equiv=\\"Refresh\\" content=\\"秒数; url=跳转的文件或地址\\" > ";
1 M7 X  J1 _' N5 p4 d5 F其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面. - l: p* z8 F5 o+ R0 M8 E+ r7 A
* {# a) F/ ], A4 y3 l8 q
第五种:利用script实现$ M2 Q! g) U2 g1 e4 H% v
<script>url="submit.php";window.location.href=url;</script> 0 j3 }9 {) d9 r$ ^9 M2 d' n
. v% f0 r% J. Q. Y( N0 y7 }, i+ F
第六种:
  u% Z; ^  Y4 i! w) W% v9 ~$ U利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口.
" Q% T. E) o$ @- z5 P* l8 w<script>url="submit.php";window.open(\'url,\'\',\'_self\');</script>
& `  d' y5 u5 h2 n7 |* G( R1 l: F9 `. u其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息 7 Q" \7 t( C2 q9 m7 u# [
header("Location: Url");
$ N0 U0 Z$ v( ^5 I" s( c8 ~' \: p0 a1 A
速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
- ~) }0 ^' ^; D1 n( h) J7 K1 Z8 w+ q3 |" P3 {, j4 y1 j* Y  ^3 @, v
评论0

手机版|小黑屋|源码模版|全球支付|VISA信用卡|MASTER信用卡|科恒数字网-持续研发、集成、交付、运营方案资源库

GMT+8, 2025-9-19 01:48 , Processed in 0.231063 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.