科恒数字网-持续研发、集成、交付、运营方案资源库
标题:
PHP 页面跳转到另一个页面的多种方法方法总结
[打印本页]
作者:
admin
时间:
2015-11-24 01:31
标题:
PHP 页面跳转到另一个页面的多种方法方法总结
一、用HTTP头信息
, w- `2 w4 L7 q
也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。
' r" w) k5 R) E
用HTTP头信息重定向到另外一个页面的方法如下:
) s% {! F' t0 P" u
$ [& F* v6 g2 \7 Y; ]- m& `3 l
复制代码 代码如下:
9 |( [+ z4 j0 s8 p
B) n" F# i& t9 e0 {0 }5 B, K
: p) R2 `; [ M! Q$ A
<?
\ k9 k1 [. `7 t
if (isset($url))
1 E' T5 @/ k" u- [1 y s7 s4 ]; H
{
5 R4 f5 U- Q- K4 k. [
Header("HTTP/1.1 303 See Other");
7 i- E: A) z- }% j
Header("Location: $url");
) B& r; Y5 `* v; t& r
exit; //from www.w3sky.com
( z+ L' J7 _3 Y1 r3 f, f
}
- c- \$ N. z9 H( F) B4 `
?>
" h# A# d5 Z' K& S' C5 o
4 Q5 H" v0 Z# w3 N! p# _3 w/ C! h
' L1 Q- H. f& b
注意一下,"Localtion:"后面有一个空格。
3 E- O' M" r! w# P1 Y
二、用HTML标记
. V8 }& ] m4 u% }1 ]6 j
用HTML标记,就是用META的REFRESH标记,举例如下:
) w* ?9 U7 b6 D3 j
0 X/ [# U$ s. e5 V
复制代码 代码如下:
: _4 w4 X2 d, Y8 Q
o6 @' l% d9 P+ g$ I
u9 U* n: P% r5 s. a/ M# U0 P0 `
<? if (!isset($url)) exit;?>
$ c, m$ k) E& N+ U% U$ E" f- F( ?
<HTML>
7 R8 v: E% s: o
<HEAD>
& {+ q2 y( }: b, t( M( `, e+ W
<META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
- S9 i' ^' L4 _4 ^0 ?% M! |/ O
</HEAD>
3 D( @' H: L. c8 x3 P+ ~: }
<BODY>
+ Q( T9 o U0 k" a X
</BODY>
0 U& K4 j- ^1 }+ t$ r$ H
</HTML>
% O! V' W% @+ K$ D/ a/ @$ V
* T( r% N3 n4 i c% E4 C
3 X5 A. ^: G4 a% i
三、用脚本来实现
7 z. c2 z. A$ H, w
举例如下:
7 k( f# N; q' Z
* }) Y) ~/ C$ ?* ~8 m
复制代码 代码如下:
$ {- H$ y' h8 h+ ]
/ W, C" o5 I6 p4 \/ G& p
! W. i9 Q' r3 B P7 k# `! r5 p0 D
<?
% O3 b. w; {/ A5 j# E$ j6 [
$url="http://www.jb51.net";
. F* D7 w* c2 u9 S. q, V8 F; @
echo "<!--<scrīpt LANGUAGE="Javascrīpt">";
|; L; t$ o5 I$ W9 F
echo "location.href='$url'";
9 K9 X" i- y% v& z; ~. J% H
echo "</scrīpt>-->";
; Z* j/ n/ @" l1 }' b' K
?>
/ j: a: @2 q, m' b( Y' L
3 e1 Q' O2 x- k U3 K0 W7 \! j
5 t( V3 m* @7 C, Z% j7 G5 u% Q
下面是补充
) G' M: ^+ J6 e( }! X
第四种:
0 T- M8 s' K o
echo "< meta http-equiv=\"Refresh\" content=\"秒数; url=跳转的文件或地址\" > ";
6 B4 f P3 U2 M g" @
其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面.
3 c. W3 c* L W$ e e- l7 f
& X% L2 f. k8 {6 F% v1 a {
第五种:利用script实现
# P; i& H. p; T" S! e4 ]
<script>url="submit.php";window.location.href=url;</script>
# o, n/ S V# c; n4 N* S
; [) _0 B3 l6 m7 q3 [
第六种:利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口.
l7 G( W- L$ S, y' @
<script>url="submit.php";window.open(\'url,\'\',\'_self\');</script>
& T. h D8 z d1 N$ z' g: B% g, L7 }2 i
其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息
\6 [% e; e2 U, q7 X
header("Location: Url");
+ L* g* E j6 ^
8 T* z2 J6 i/ x
速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
复制代码
. g, g, W. J6 C9 ?0 o* E! _; C
6 }, W8 _- y- }) R% K
欢迎光临 科恒数字网-持续研发、集成、交付、运营方案资源库 (https://www.khcic.com/)
Powered by Discuz! X3.5