科恒数字网-持续研发、集成、交付、运营方案资源库
标题:
PHP 页面跳转到另一个页面的多种方法方法总结
[打印本页]
作者:
admin
时间:
2015-11-24 01:31
标题:
PHP 页面跳转到另一个页面的多种方法方法总结
一、用HTTP头信息
- X8 A* `( K1 T0 w6 h7 X+ T
也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。
) ]5 E; Y& |) i: k: E/ q4 D
用HTTP头信息重定向到另外一个页面的方法如下:
5 b9 l! U$ U6 i( o* r" ^/ w) w" l
% ^# `2 y5 H1 s6 X* H; C7 c/ n
复制代码 代码如下:
* C; B4 d3 Q: U A5 p; y1 Q
( L8 ?4 c1 M9 Y. @4 D5 q( m
: C/ L: Y) Y( d; r4 j% l3 N3 ]
<?
6 ?6 S9 C, [' g0 \- X7 W
if (isset($url))
Q0 T6 a$ Z9 ?& `% l3 u; B
{
/ I* _9 Q! ]% O* V
Header("HTTP/1.1 303 See Other");
1 v3 ^2 w, G2 D2 [ R5 A7 ?9 W
Header("Location: $url");
1 K% G' v% X2 `9 C) Q
exit; //from www.w3sky.com
! O7 m+ `: o& n; a6 ^
}
# l+ ^$ Q: K- B0 n8 J/ E1 ]9 h
?>
w2 n! E1 [- o8 d
- z1 _4 U% e3 r0 \- R) ~3 u! B$ U5 ]
5 B# G( ] x [; [6 Z X
注意一下,"Localtion:"后面有一个空格。
% V3 Q1 b N; C7 H3 U9 G
二、用HTML标记
7 V; K, P' R: x! p( g
用HTML标记,就是用META的REFRESH标记,举例如下:
, \/ q. o! E0 d) {2 D0 _' m0 u( Q( @
$ U e5 e: k0 N% Q |
复制代码 代码如下:
2 \& W7 [- ~4 n2 w8 H
; r/ ?# F6 f K2 C/ Y
" j; U2 J- |+ ~" w% I" Q4 d
<? if (!isset($url)) exit;?>
$ u8 B; {1 b& e; o$ g4 A
<HTML>
$ }5 Z0 c6 k% _
<HEAD>
( O3 M, ^8 f8 L; M$ @ t/ y S: M
<META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
* D' Q2 P9 s% F4 I, X+ b U) l
</HEAD>
" W8 [/ }. W7 D6 Z" Z& M
<BODY>
" m* [* o0 ^& ?9 @8 E
</BODY>
i- `* h6 s' u. ?2 O. @
</HTML>
& x6 ?" Z$ C( T& C5 e( _$ w9 P
: i$ y& s% D' O X; C3 m
& _ Y% x4 w/ t' J% R1 P4 k
三、用脚本来实现
/ m7 E9 i8 V7 Q1 s& L; `+ q- y
举例如下:
6 f6 c2 l0 m$ R" S/ {
: _! X8 W9 v( N* y% `
复制代码 代码如下:
2 V% k, y0 J* L3 @5 I! e9 [
' O, u* l4 [' C4 S# A& q2 P
. f$ Y# T2 Q; O
<?
! O" @4 D- _+ {. P
$url="http://www.jb51.net";
0 K! o2 f: S% Q( `6 c
echo "<!--<scrīpt LANGUAGE="Javascrīpt">";
& y8 E+ j8 }7 O& b
echo "location.href='$url'";
( ~+ m' }" G. g1 ? y
echo "</scrīpt>-->";
1 i, y$ Q9 U- z: N5 Q7 I2 A
?>
3 d0 {( w! `* h
' O" f* O1 B$ m4 \
7 v9 a2 W* C( p2 Q
下面是补充
7 d: O# V8 Y+ n6 B( a: ~( @& M
第四种:
0 Y6 \6 ?7 v) _7 B: E6 i
echo "< meta http-equiv=\"Refresh\" content=\"秒数; url=跳转的文件或地址\" > ";
3 Q6 J2 _6 K L! t' X
其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面.
) v4 A- c+ N6 x$ A, \* F+ Z8 g. n" m
; X' V% E$ b2 A
第五种:利用script实现
: [$ C# m" r. ?
<script>url="submit.php";window.location.href=url;</script>
, X$ O- w% I1 ?9 x4 |( m3 g
5 e0 d. x2 x, w/ }+ B% _
第六种:利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口.
# \: S! U5 t" e# b0 x q/ {7 H4 ?
<script>url="submit.php";window.open(\'url,\'\',\'_self\');</script>
2 l* z9 U7 p& i# ^9 z* Q# S
其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息
' w5 M6 R2 }$ t" P* x
header("Location: Url");
% i5 D$ B3 s- D" W. R7 I
2 ], _% \6 P+ z
速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
复制代码
" H [- T+ m% t, i4 d
, \* }2 w9 n6 e0 Z
欢迎光临 科恒数字网-持续研发、集成、交付、运营方案资源库 (https://www.khcic.com/)
Powered by Discuz! X3.5