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

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

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

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

×
一、用HTTP头信息
/ v% m3 \) \% K: b( M  C也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。 1 b4 ]2 k( y+ b1 M) H8 V+ m- I6 m9 l! T
用HTTP头信息重定向到另外一个页面的方法如下:6 u. l% K* q' E+ L. l; J6 _  ]

% k" d/ {1 z7 I, d6 F复制代码 代码如下:4 @; j4 \( S# y  V4 ?# m6 E
<? ( Z, x9 E* {( P) W" C1 }! |
if (isset($url)) 6 ~9 X3 D+ g/ H; x4 P
{
4 Q" p$ [" h9 ~7 bHeader("HTTP/1.1 303 See Other");
% J7 `3 f2 I$ W+ C  _# `/ AHeader("Location: $url"); 9 v0 o7 ]6 d  l  c/ B
exit; //from www.w3sky.com ) W; d) K/ S/ G6 q. @
} ' z8 ^+ x0 u+ t
?>
: ?& J& z; _9 W3 E注意一下,"Localtion:"后面有一个空格。 ' R: c2 o- D9 P8 R+ W3 A& @
二、用HTML标记 ' s1 S, t: H- E4 H  T! g" R0 z' s6 l5 r
用HTML标记,就是用META的REFRESH标记,举例如下:
. r) R4 o3 Y- z复制代码 代码如下:
3 \+ S4 A7 A; r4 \: K' \: C6 q; m& J<? if (!isset($url)) exit;?>
, C/ T$ ?7 {* F# _. W7 C* ]2 r3 b4 h<HTML>
& I) J" d8 K1 L  ]<HEAD>
* g7 X4 u; J$ q' r<META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
* p1 r- K1 q' U! g</HEAD>
5 ]' }6 c7 h' _$ o7 j<BODY>
6 D1 W7 y' f0 K9 u* D</BODY> 2 ~/ i: h! H; ?. N
</HTML> * c: c* q- D! t' I" t& l

, c* @  Y- n! K/ R' Z# `! I2 E# `三、用脚本来实现
9 T. c6 r5 w5 [8 W$ c举例如下:' y$ `# N" T9 \" [# k
复制代码 代码如下:
: U  [9 C- I2 e7 p; y<? , }' x+ a" [8 O8 K2 I
$url="http://www.jb51.net"; 3 [% ^5 m& ^" Q7 d4 j1 q4 {
echo "<!--<scrīpt LANGUAGE="Javascrīpt">"; * Y* K/ [; s+ |, E2 H
echo "location.href='$url'"; 5 I9 y' j( I7 P; H) n/ u' z5 _
echo "</scrīpt>-->";
; ]+ a3 }7 Y, t9 r  Y?>
; w2 Q3 B9 }* m- k+ Z4 h下面是补充6 c9 i. ?* p# J/ x, ?5 s0 V
8 L" U) @+ b' v; P" u0 j1 s1 q
第四种: 5 O& [  }4 k6 z) C9 V6 K7 O
echo "< meta http-equiv=\\"Refresh\\" content=\\"秒数; url=跳转的文件或地址\\" > ";
# @. A; E& I: e6 F8 S9 s其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面.
6 V( m2 S6 s4 @
% ?% R2 V. {0 d, z第五种:利用script实现
! f5 u% g+ u8 _  O+ B- a<script>url="submit.php";window.location.href=url;</script>
1 Q$ V% q$ y) ~; v! J$ w- S& S1 h* b9 A7 j# g2 v, [
第六种:% e' P* d% E+ f* z; J
利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口. * A+ f; F  u% K8 U
<script>url="submit.php";window.open(\'url,\'\',\'_self\');</script> * r( ]5 w+ I( D& i( W8 t
其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息 . C6 |8 M9 o0 a: g1 J7 _
header("Location: Url"); $ ?  J# h: B0 T1 a/ b: j

$ T3 R8 F+ Y+ b! m; t1 ?3 O- X8 m速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
# A4 Z, ~) V- D/ T( ^( I5 F
2 n7 V1 z' S: k, M) n
评论0

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

GMT+8, 2025-9-16 08:32 , Processed in 0.259683 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.