科恒数字网-持续研发、集成、交付、运营方案资源库
标题:
PHP 页面跳转到另一个页面的多种方法方法总结
[打印本页]
作者:
admin
时间:
2015-11-24 01:31
标题:
PHP 页面跳转到另一个页面的多种方法方法总结
一、用HTTP头信息
; y+ T4 o n0 r) |
也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。
1 z$ d7 o8 S3 h4 {% I# F: C, C
用HTTP头信息重定向到另外一个页面的方法如下:
, x7 Q* ^1 \9 p. L& m) Q. a
. g8 {5 ]% W- g4 e( A
复制代码 代码如下:
# `4 E# l/ U0 I8 f' y: v
! @, Z5 X$ h* N( c- V8 S/ ]- @4 B
" j- m0 V q5 B) T4 r6 ^! E! |" |% K
<?
' {& W3 S N2 `# L' }
if (isset($url))
3 J$ g, ]6 Q+ X. f
{
5 {( o) M1 y& _1 f4 {. u
Header("HTTP/1.1 303 See Other");
$ M, I- u) H- Y0 Y) m- [
Header("Location: $url");
% @% ~; U) B3 @9 u# i# Y; z
exit; //from www.w3sky.com
9 a+ k- f6 D! A) n; Y M
}
6 r7 D- y- ]3 I; b3 x2 ^
?>
# l# p- z: F5 d4 b+ ~
% {2 K5 W4 B$ a [; u
_' O; c7 Q( F- O5 m1 N
注意一下,"Localtion:"后面有一个空格。
6 {8 j( V% A9 M: w7 C
二、用HTML标记
" K) l" v1 ^) \7 }! L3 ^
用HTML标记,就是用META的REFRESH标记,举例如下:
2 d) W' o0 `! s# q- e, L; F
- v' d5 P3 q0 T' _
复制代码 代码如下:
|) p# k! V5 [. n+ X5 T
" s- g0 ]; P9 N% l9 ~7 [6 o
0 _5 ~6 p% H' c& z6 E4 L& P8 a
<? if (!isset($url)) exit;?>
1 b0 m+ F! f$ t, E+ ]5 V1 p: c
<HTML>
4 r* ~/ @- S# p3 ~4 F
<HEAD>
8 G- Q! F# k5 g! h9 E0 M- h4 I" c
<META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
0 j! C9 |: q% @7 t L
</HEAD>
8 K/ W) J# |* n) A9 @
<BODY>
g, f' @2 [* O* ]( \ v: B5 W1 J
</BODY>
$ C/ x3 F! m4 D# j5 o# `
</HTML>
* F" C5 E( h8 L+ |8 m8 X
9 ~- ~" s$ W# @; N- F$ S/ R4 {
( f d( R" x! n9 H& V1 m+ M
三、用脚本来实现
+ O! {$ z3 {; S
举例如下:
) p- K8 @: P$ l2 P0 h& w! j
; {. Y, I3 g( x# A, _
复制代码 代码如下:
0 f) L- D2 _8 }* B( o
T. _( m- ]2 N" w" d
5 _0 e9 s" s8 P% W
<?
1 t! k4 A% f7 H4 u; c
$url="http://www.jb51.net";
( u; p m, f( h5 e, \# f
echo "<!--<scrīpt LANGUAGE="Javascrīpt">";
( N6 b1 w3 C! z! y
echo "location.href='$url'";
' f5 z1 i P( d
echo "</scrīpt>-->";
1 G/ _: Q8 k" @* h- p# ?2 l
?>
) C4 g3 Z: ?6 {3 U5 z
: X2 A8 b7 K6 F2 t( {7 `
' U$ s, y* h& H3 t, c0 h' |. c
下面是补充
/ [' d5 Q+ F7 l) h
第四种:
9 D! r X$ Y$ G3 z! |+ g% c
echo "< meta http-equiv=\"Refresh\" content=\"秒数; url=跳转的文件或地址\" > ";
" R {& e. I' {
其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面.
, ~$ ~% E' L4 X" @
" s8 q' b1 J' c+ a4 c
第五种:利用script实现
( j& B' \2 H7 g. m
<script>url="submit.php";window.location.href=url;</script>
) m: _6 k7 X$ C. [+ Q% H4 C
2 H5 W+ R3 Y Y3 w" v/ F- v2 |4 Z2 o
第六种:利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口.
. v, u% Y- h- X2 z% `7 [8 H4 ~% b
<script>url="submit.php";window.open(\'url,\'\',\'_self\');</script>
* L8 r4 V3 W4 u
其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息
# w2 Q5 x/ O+ {8 N
header("Location: Url");
, s3 _" Y) o& |3 Z9 G8 f3 }% w
& G5 q+ g( h& c! w
速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
复制代码
( g) f9 [) a( u y: O. b
$ x9 [9 ~, Z* Q9 X) y! f( s
欢迎光临 科恒数字网-持续研发、集成、交付、运营方案资源库 (https://www.khcic.com/)
Powered by Discuz! X3.5