科恒数字网
标题:
PHP 页面跳转到另一个页面的多种方法方法总结
[打印本页]
作者:
admin
时间:
2015-11-24 01:31
标题:
PHP 页面跳转到另一个页面的多种方法方法总结
一、用HTTP头信息
) N" j2 N0 i; e! e8 v
也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。
1 [$ Z I5 e1 B
用HTTP头信息重定向到另外一个页面的方法如下:
3 v+ \( i& C% {5 R- A" [5 ^
' ^0 c: g$ L& Q# i9 {8 F* A& Q
复制代码 代码如下:
) y7 e6 G3 w) D! \) `- T/ }( c
; x- } J8 Q7 d6 b/ k" N8 ^
( p; w @8 t9 d' t
<?
# u# K- H& C( K8 R7 n
if (isset($url))
! A0 u- v" A. m
{
( C5 E1 J% ^" {; C, h4 S% V
Header("HTTP/1.1 303 See Other");
+ K* c' a! K! F/ U- t& H( x5 u
Header("Location: $url");
5 @. _5 t# N9 M* C8 P
exit; //from www.w3sky.com
" S/ E p& o( \3 h
}
* i3 M" {0 A1 H' @
?>
" [3 O' ?5 f! r9 B8 G
- z. c4 H5 ^' |+ H ^2 ^
% A, k/ \# H+ ^) ^: Z
注意一下,"Localtion:"后面有一个空格。
6 W3 g c" |5 X8 s+ v
二、用HTML标记
" p% j" n; D& K* C4 A% @3 n$ w
用HTML标记,就是用META的REFRESH标记,举例如下:
6 D3 Q* y- Q9 N7 Q: b: F5 X$ U
% b' j" j$ u: G/ P% M7 W
复制代码 代码如下:
/ U' G' [3 e* g" }# P$ s
0 g, Q9 R7 B5 {( o
5 _- u7 A$ r, s J3 k# n& W
<? if (!isset($url)) exit;?>
. _8 h4 i h [5 v' W
<HTML>
/ C9 G C) j) m& W2 q, {
<HEAD>
. y' Z; c1 h* V% u2 D
<META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
; \" q0 n8 o" y2 M9 F3 G
</HEAD>
4 \6 }# \, g5 M# y, o b
<BODY>
4 B! m3 X6 L$ C3 j
</BODY>
- i. Q: c; ^( G) a; V/ C
</HTML>
& h# b9 C6 E2 D' O" l/ E( r
]. i& x4 ^- j7 ~! x7 `5 T
& f4 B. m5 P m% z6 q7 j7 {( g
三、用脚本来实现
. U; G0 r* K9 Y+ C) a
举例如下:
$ S4 h5 j3 \! i, X# E! I" c
( o8 V# G. N3 `
复制代码 代码如下:
5 R8 X i( A3 s# X
) f2 ]( l- N( v5 s" L, I
4 K' h# ~6 w3 {$ h9 {
<?
! H8 B2 X% @" u. ^1 D0 o3 W# F7 W
$url="http://www.jb51.net";
( c; C' v$ v" l2 A9 R/ I" A6 W7 p( o
echo "<!--<scrīpt LANGUAGE="Javascrīpt">";
' P+ [; g1 [8 _. ], j8 U6 Q
echo "location.href='$url'";
; `( t% K7 x0 ^6 M
echo "</scrīpt>-->";
% k0 \2 {, p/ @ P
?>
. R8 ]% n1 f$ C: v( l! {
* }( w- C, u: n. c' y2 d1 e; c
0 q7 N2 e% s! u( e4 }
下面是补充
3 L) o( V% H H% F+ O
第四种:
) ^" g( h% g& N) f0 q3 [; K) i
echo "< meta http-equiv=\"Refresh\" content=\"秒数; url=跳转的文件或地址\" > ";
- N# \- {" Y' I I, C0 h, ?
其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面.
1 a; p4 C' W0 }' T7 u4 e
! Q( _" g. a1 t- h- [* g& ]% s
第五种:利用script实现
$ z7 W5 ?) W0 ?; T
<script>url="submit.php";window.location.href=url;</script>
4 P9 K; K) D/ V# [$ @8 t
2 C; C& F Q, t/ Z* p* ?
第六种:利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口.
0 w8 O$ P7 O, \7 |4 w8 `
<script>url="submit.php";window.open(\'url,\'\',\'_self\');</script>
+ `4 c, x% O7 y* `6 w. F j# n
其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息
6 A- O7 ^ I* D0 K
header("Location: Url");
, G5 l. N0 I/ S/ k0 ^& P
: y# X9 T2 T/ c% n; e% _
速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
复制代码
2 r" A; Q$ U2 |( L. t. j" J, I/ e
6 g, q6 u3 a7 T& c& m% D
欢迎光临 科恒数字网 (http://www.khcic.com/)
Powered by Discuz! X3.5