科恒数字网-持续研发、集成、交付、运营方案资源库
标题:
PHP 页面跳转到另一个页面的多种方法方法总结
[打印本页]
作者:
admin
时间:
2015-11-24 01:31
标题:
PHP 页面跳转到另一个页面的多种方法方法总结
一、用HTTP头信息
3 ^6 C. O- w. w% w# }
也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。
+ o8 Y! r, G' b1 N3 i) B& [! R
用HTTP头信息重定向到另外一个页面的方法如下:
' d0 A) w7 l; A# h$ v2 E
6 O/ y, p9 E' H* L9 M
复制代码 代码如下:
5 ~9 ~2 _ J5 r5 ~
( A$ j1 s) r! g9 Q* u3 |
1 d7 [: R" _. X
<?
6 E( h5 [, K7 @- ~ F5 Y7 k
if (isset($url))
5 a4 R1 |$ N$ @0 l) A4 }7 X9 G7 j! W
{
% l4 o* p0 Z% J& J
Header("HTTP/1.1 303 See Other");
9 ]& F/ G5 I4 b o2 Z% }
Header("Location: $url");
. o2 v# f- K2 Y
exit; //from www.w3sky.com
, |& D, i, H( R1 Q" K9 f
}
# \; [' z7 g( d6 R3 H- e$ s
?>
" E$ V- l; a9 j+ e- a( \
+ j! S9 a) B: T2 l# B0 r, {
0 x* t) G' y# a; F
注意一下,"Localtion:"后面有一个空格。
% c7 g* ^& T+ I+ X
二、用HTML标记
1 ]% R( O' k2 h V* u0 u
用HTML标记,就是用META的REFRESH标记,举例如下:
, w; m! O$ {3 c" l1 E
: ~' A' a+ u$ z4 U$ m$ r
复制代码 代码如下:
2 I- h' O: H1 B4 {1 j* g+ y
- B7 c8 O' v) p3 R5 z# i
E _9 [8 n3 n* i- L" l
<? if (!isset($url)) exit;?>
( `( R- G( n' a* \! F0 c+ W/ D) f
<HTML>
7 E+ p% ]. L. j/ T
<HEAD>
$ U& q! E. b% Q% C/ @
<META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
0 g. V1 J. b8 k4 G0 Y
</HEAD>
7 V. l1 x" i/ s$ [; M4 G
<BODY>
5 Z$ J0 r* R7 ]. h; V* R/ Q
</BODY>
: Z5 H- C7 V- t6 G/ q; P
</HTML>
) o" m m* j6 j# X+ @
$ D' v: t+ h2 ]7 R
: U2 g( z) T" t9 W
三、用脚本来实现
+ S" h( u1 I" a
举例如下:
& R" S" t8 T* H) J/ Y% V( u
3 {* R- b$ U+ O. k
复制代码 代码如下:
2 b1 d' G/ d+ m$ z2 l) G5 r+ a" _
3 P/ S) H. L' H' D6 }
6 ], q/ f" y+ Q- r7 a- q6 `" q
<?
! e3 ?! ?+ ^7 D5 R& e. E @
$url="http://www.jb51.net";
3 o) P$ f. ~/ W9 n1 G# t3 J* f
echo "<!--<scrīpt LANGUAGE="Javascrīpt">";
: D' p) w. H$ i' F
echo "location.href='$url'";
+ K0 [5 b% f) W- n
echo "</scrīpt>-->";
$ I, Y$ J( L! _, ? i4 K
?>
; B& W* V7 D/ B( U* k/ [# k5 T. R
1 i# F. W7 |4 S
9 t5 f0 A0 ^3 Z# M
下面是补充
" J$ |+ A$ d# N; B2 }
第四种:
1 h. ?' K8 N) h- v* S
echo "< meta http-equiv=\"Refresh\" content=\"秒数; url=跳转的文件或地址\" > ";
6 B8 ~, V; O. p- j$ \. e8 u- x( a; T
其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面.
6 n$ K! m+ U9 H+ d2 _
9 U: e# D. C6 a9 f' w1 ~
第五种:利用script实现
u4 _ ^1 d- J9 U2 W" m
<script>url="submit.php";window.location.href=url;</script>
9 ?) W. l3 y9 y' z/ J# W
. V! {# B1 v" u9 e! f& u
第六种:利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口.
* {( @& Y5 \* V# ^; t% T( N8 F
<script>url="submit.php";window.open(\'url,\'\',\'_self\');</script>
7 m* X- N, K/ o+ }- [( V! h
其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息
; y9 C! V9 N8 s t
header("Location: Url");
1 j7 C( D. R* j+ J. C* E% O
8 M/ x \# ~3 ~8 R" a& K0 S4 ?
速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
复制代码
/ a' |: [: Y2 O
: y1 p5 t: a7 `- S7 E) k
欢迎光临 科恒数字网-持续研发、集成、交付、运营方案资源库 (https://www.khcic.com/)
Powered by Discuz! X3.5