科恒数字网-持续研发、集成、交付、运营方案资源库
标题:
PHP 页面跳转到另一个页面的多种方法方法总结
[打印本页]
作者:
admin
时间:
2015-11-24 01:31
标题:
PHP 页面跳转到另一个页面的多种方法方法总结
一、用HTTP头信息
2 ^8 S% z7 v" H8 J
也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。
* ~$ r# V# K- G, c: ^5 `+ x
用HTTP头信息重定向到另外一个页面的方法如下:
. q% s3 g) p/ h( C4 [
* m+ R: E& i2 G! _8 L t0 j
复制代码 代码如下:
0 d" S$ y# f j5 ^: M
* R1 K' {+ D9 ^$ d9 w
, n( |0 h' {# Q0 D) H6 a
<?
3 l2 `5 T1 v( R5 {* W
if (isset($url))
. ?# \" F- T' Z+ a- B
{
( h# _' c" S/ B6 `8 `, k3 H
Header("HTTP/1.1 303 See Other");
/ {/ c2 {$ `" R! L2 p
Header("Location: $url");
# l9 m7 \9 d& u W9 H1 H
exit; //from www.w3sky.com
7 c, ^( s5 H& F, o# M4 e [4 Z
}
" w! a$ z" X* F, Y$ j
?>
5 H+ b; f3 b6 G4 W: D5 T
0 W/ Y6 E& {" s1 a I3 f. |- t, F+ u
+ _7 B( [( U' t/ O5 f; ^: I; S; b! _
注意一下,"Localtion:"后面有一个空格。
! Z7 j4 a. ]3 h/ W q
二、用HTML标记
" d/ A) l/ Z( e) W7 R* U
用HTML标记,就是用META的REFRESH标记,举例如下:
2 j) y" k, S. q5 p5 X
$ q$ b" a. K1 ~5 e: `2 B; A
复制代码 代码如下:
/ S; b( }" j! u
) b) v4 P; E1 m4 a" B
& N. Q, {7 e; U) D
<? if (!isset($url)) exit;?>
C) q* L) E, P- X5 |
<HTML>
- ^( G; f+ V8 `0 q3 m( A+ V3 N
<HEAD>
- f6 X. W+ F$ w4 \
<META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
' l! g0 ^; c, u+ @
</HEAD>
2 K" d" Q' r" m. O. Z7 ^
<BODY>
# m8 Q, c- \$ V2 W' l2 U2 @
</BODY>
/ f3 L/ r7 J* I& G# F; a. t( I
</HTML>
; P& G) E0 M# E3 u0 v+ ]/ ?6 I2 l1 F
7 F2 H# Z! W# ]
$ D: |$ `) ~# p `0 `
三、用脚本来实现
7 z4 p# z) x6 F& p" N2 R
举例如下:
$ s6 [& v/ W+ R: N9 F5 `2 r) R
; \" C2 R4 P. P5 |
复制代码 代码如下:
" d) W3 `: i0 q* P, z
" P& w/ l. i5 j" w' c8 M9 M y
) c* y; y% H- J5 l2 s
<?
! }$ j* ~' \; I0 p
$url="http://www.jb51.net";
/ ~& }) V& m, o4 q* z/ H, q$ u
echo "<!--<scrīpt LANGUAGE="Javascrīpt">";
{! W/ P5 b0 M) n
echo "location.href='$url'";
4 @: p- I& x1 G/ c* C) f j
echo "</scrīpt>-->";
5 B+ |/ v, ^) L( k1 B9 M
?>
J0 F3 ]! t+ ~4 q
& a- r4 e$ P1 R/ u* V H" |
, B1 L: `4 q9 L& c
下面是补充
+ x3 I/ v3 H$ u& |/ ?
第四种:
8 _- V5 m7 x/ u
echo "< meta http-equiv=\"Refresh\" content=\"秒数; url=跳转的文件或地址\" > ";
- Q! l. e7 t, g) j a/ b( ?
其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面.
% |7 Y$ f, d; e/ e F3 D; b7 l
; D& Q" l0 f+ h0 A3 p9 K% y# m2 v/ W6 Z
第五种:利用script实现
) e* x6 y1 Y. T
<script>url="submit.php";window.location.href=url;</script>
2 Z1 E6 _7 U9 R5 ]
$ k& [) m0 j# J; a; U
第六种:利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口.
+ x1 W, K" E# h. t- w% J' \
<script>url="submit.php";window.open(\'url,\'\',\'_self\');</script>
$ N1 v! S3 X0 x C: Y2 b
其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息
+ ^7 X2 e1 Q/ O t) }, S* e: J
header("Location: Url");
- h7 \% G! J# }0 [
! \. ~0 G$ s. W& p4 \4 N, C
速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
复制代码
' h5 M, I/ \2 t* L
- n$ Q- ]+ D4 M, r
欢迎光临 科恒数字网-持续研发、集成、交付、运营方案资源库 (https://www.khcic.com/)
Powered by Discuz! X3.5