科恒数字网-持续研发、集成、交付、运营方案资源库
标题:
PHP 页面跳转到另一个页面的多种方法方法总结
[打印本页]
作者:
admin
时间:
2015-11-24 01:31
标题:
PHP 页面跳转到另一个页面的多种方法方法总结
一、用HTTP头信息
0 G( p# ~* p0 F) Q
也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。
' c# x2 s0 [* Q8 s- K k
用HTTP头信息重定向到另外一个页面的方法如下:
; z" I) S7 F) C$ b& o; N
7 I5 p! L) k; S4 w+ m, e- r3 R: F
复制代码 代码如下:
. h/ @* V. F" W( M1 q. l0 P# H
1 _' ]7 T. B% N3 S. Z L
# T# Z0 m3 ^7 j7 ~2 v0 ~
<?
9 ^8 m4 j: S" L' t0 g; R
if (isset($url))
( k; \( s3 l4 F7 w# D2 X, z
{
/ v0 ]7 Z; j* l
Header("HTTP/1.1 303 See Other");
! L. e: r1 G- a5 ]( Y( T$ l
Header("Location: $url");
1 ?# E+ Q4 ~% r' N8 H+ v, t U
exit; //from www.w3sky.com
+ E- o- D, V0 u6 y- u
}
" y+ ?( K: S( n" v, D- ~: B& O
?>
9 F3 f& S! I/ I& U' a1 M9 `; k
1 l0 |/ S, _$ |7 o% z- R# V
3 x. ?1 X6 K6 n8 |9 C6 r B
注意一下,"Localtion:"后面有一个空格。
+ M( w$ X$ d8 B$ e, P! E
二、用HTML标记
! R; @( K# K+ a8 W$ V( l2 e
用HTML标记,就是用META的REFRESH标记,举例如下:
5 D# e* j% H: d/ M; N
8 B9 \7 s0 y& v n+ [1 c. A; n# E
复制代码 代码如下:
- B4 e" a" W& F! B
2 ]& q$ m1 _2 c/ F0 ^
' `0 e4 p$ a) _) X M+ Z/ o( w
<? if (!isset($url)) exit;?>
7 ~: g# \- g6 d' B( Q: M7 n
<HTML>
, d/ G' u F7 o+ B( A! B- Q6 c( [' @
<HEAD>
) @9 y) q _- v' i/ G
<META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
& H- @# s4 o& I2 P# C4 g
</HEAD>
7 q& t+ p* a1 ^$ r$ y$ t
<BODY>
5 t6 V: _' w9 ` \- R
</BODY>
) e m; C' R$ k& d Q1 o
</HTML>
* ]7 d7 i, ?- S+ N4 B
% K$ E0 I! n4 W8 w$ _
; D1 I' c) R! q7 b/ j Q
三、用脚本来实现
4 c* B1 ?+ `5 o) I: V
举例如下:
: ]! D+ v/ I" B
0 R: `% ^8 n1 t% M) f0 ?) A% M
复制代码 代码如下:
/ c; _+ K& N2 b; |$ y! p# t
/ t0 S; n1 F; d( h) I, J N& h W
4 B2 t b/ x5 Y
<?
+ ]6 r1 Z: w7 K5 v6 ~* C/ b, M
$url="http://www.jb51.net";
% @4 }2 s# g+ e9 X) s# u J
echo "<!--<scrīpt LANGUAGE="Javascrīpt">";
) {% O& ^" I: j& D
echo "location.href='$url'";
! \0 {* r4 k. S! j6 M. |9 N
echo "</scrīpt>-->";
" {% e9 O, x5 j3 [4 k4 c; w
?>
4 ~5 c6 t6 b1 k' P9 ~2 g% A+ B$ h
- u7 e4 f2 |" ?' ]4 o+ Y, k
# e# G- b- D6 [
下面是补充
+ g1 y; |$ r% h0 \6 I M
第四种:
- \4 z- Z4 n5 M( C0 W1 g ^9 \: R
echo "< meta http-equiv=\"Refresh\" content=\"秒数; url=跳转的文件或地址\" > ";
$ c1 ?$ W( u* ?6 K7 d
其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面.
9 \( {1 X0 O( ?
. _9 Z* l! p0 G4 \# V" q* B' ~* }
第五种:利用script实现
2 g* Z. J$ e. |, A% e- @
<script>url="submit.php";window.location.href=url;</script>
" ]% @' c4 E, s r" v3 g
: Q2 _3 |5 [6 A& e3 {
第六种:利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口.
) p- e) k8 p# `! N
<script>url="submit.php";window.open(\'url,\'\',\'_self\');</script>
0 @* @! e8 z- X- y
其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息
# E, X! z% @" @
header("Location: Url");
|! X" s# b$ F- [/ J
, Q4 c! _/ i. s" F! S5 s
速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
复制代码
8 B1 S1 \$ t2 d8 ?
: S5 b& H& a s/ g
欢迎光临 科恒数字网-持续研发、集成、交付、运营方案资源库 (https://www.khcic.com/)
Powered by Discuz! X3.5