科恒数字网-持续研发、集成、交付、运营方案资源库
标题:
PHP 页面跳转到另一个页面的多种方法方法总结
[打印本页]
作者:
admin
时间:
2015-11-24 01:31
标题:
PHP 页面跳转到另一个页面的多种方法方法总结
一、用HTTP头信息
& D4 u4 r( M7 k! Y' v9 d$ d
也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。
9 P! U( v6 U8 d- C/ Y' y, C" K
用HTTP头信息重定向到另外一个页面的方法如下:
# T( @) ]% k, k8 F, g* R7 |5 t
; l, Y5 D2 {, Q$ c; X
复制代码 代码如下:
8 }4 ^. r' r; X) z% P! B9 Q/ R
' b3 Y/ D) T ]- J! m+ y2 e& y. }
* ^: W- J& @1 }# B! V
<?
' y- N& r1 A2 k$ `$ c) m5 B% M6 }
if (isset($url))
0 W6 S7 V' U% W$ a: t1 o: y
{
5 N5 g% L0 K5 v, G# ~* ~' X
Header("HTTP/1.1 303 See Other");
8 W9 G% R5 |0 m9 d% v
Header("Location: $url");
% b% G3 |3 e, p4 g2 A: k
exit; //from www.w3sky.com
: h8 `$ y; z. `
}
$ U% F9 w4 l& l3 K- c) ^; ?" ~, ~
?>
9 H _& C: y; K1 G- p7 f; N
9 {2 U' j& w& L" F9 v" }0 N
4 N. t7 N/ I0 Y0 v
注意一下,"Localtion:"后面有一个空格。
; ^% E4 r3 P3 P. d5 K( a7 T
二、用HTML标记
2 b% X6 r* Z! p5 _
用HTML标记,就是用META的REFRESH标记,举例如下:
7 e7 I& Z" B. O6 V2 Q3 t
. u$ h6 u2 R5 O2 W! |7 Z @; P
复制代码 代码如下:
' U `- k. A5 U6 X
( _4 ~# N( U( X% ?; v: a& C2 K
, x9 G. t6 z! u- G
<? if (!isset($url)) exit;?>
! [0 J; d) T; t* o( L
<HTML>
. |7 F( }$ I! J u) X8 H9 e; w; v
<HEAD>
. C) R v1 _( U9 K
<META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
' R# a2 A! X* L# r$ S! j$ p
</HEAD>
" q3 A8 Z1 k' l4 ~& l) ^
<BODY>
8 D: A! @* e- K" U& @
</BODY>
; ~+ P3 I! F3 h" r$ j2 b. K
</HTML>
7 T, l$ u7 v0 x. B" `
* b, w+ P4 N7 Y5 h4 Z
) J4 V( A9 H. @2 |) E/ M. V
三、用脚本来实现
' Z5 p4 a0 f/ l+ s, @
举例如下:
5 T @, D" A, j! s9 \3 X( |7 h1 g
0 D d3 k+ H" z. Q3 ]
复制代码 代码如下:
0 [! u3 P* x6 F" ?) d3 Q: I3 }% _
! q: S* U$ z; C2 `6 \% Q R
% u( r9 |3 _% I2 `% e& L8 S
<?
+ i/ X6 @: O. I% [: ?3 [
$url="http://www.jb51.net";
2 }$ v y3 M9 w( c L/ {7 }1 ?. G
echo "<!--<scrīpt LANGUAGE="Javascrīpt">";
, R" p6 k6 m8 o( M; \/ E
echo "location.href='$url'";
]% f) b! ~6 M9 y+ @0 H% @' V
echo "</scrīpt>-->";
; z4 R3 o. s4 \! s- W5 f
?>
+ L) l1 F8 n. k8 U4 d4 `) H5 {( R: p5 [
4 q7 h; F9 |% m3 U, b& I4 k
8 ?$ e1 L; S1 l
下面是补充
* y5 }; n0 C9 P7 i- u3 N: k( |; G- e
第四种:
- Z, c4 q4 F/ | ~$ F
echo "< meta http-equiv=\"Refresh\" content=\"秒数; url=跳转的文件或地址\" > ";
8 e8 O4 P l6 \- A
其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面.
/ w* g' L0 z/ R! r% h" c1 y+ C
) [& E# e9 f* z/ B
第五种:利用script实现
2 U1 C" _. O4 I) Z. d
<script>url="submit.php";window.location.href=url;</script>
9 X0 e N) I1 k. z6 }
' a. c" I2 N7 i- B9 |: ?8 T0 J" u
第六种:利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口.
6 ?0 u7 P3 \4 T: o4 y' f
<script>url="submit.php";window.open(\'url,\'\',\'_self\');</script>
1 E R. B% d) j2 b! X( z, l, G0 Y
其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息
7 l E- y! u/ f
header("Location: Url");
6 V* P% E& e0 D$ _7 ~
0 e) x$ @ n! S
速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
复制代码
. `- ^' w2 r6 o9 k8 H' X4 B
0 r4 {+ Y5 h6 b1 o! o. Y4 h7 j
欢迎光临 科恒数字网-持续研发、集成、交付、运营方案资源库 (https://www.khcic.com/)
Powered by Discuz! X3.5