科恒数字网-持续研发、集成、交付、运营方案资源库
标题:
PHP 页面跳转到另一个页面的多种方法方法总结
[打印本页]
作者:
admin
时间:
2015-11-24 01:31
标题:
PHP 页面跳转到另一个页面的多种方法方法总结
一、用HTTP头信息
" U: e; ?- I+ u6 e6 \) ]* s" y
也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。
- T0 z. |# y! B: }* \
用HTTP头信息重定向到另外一个页面的方法如下:
* }4 Q- Q0 V$ z
8 i4 F# z- P* ?( {' S2 X
复制代码 代码如下:
6 v$ h. x4 ~8 q6 ?" b9 w) q2 e! M# M: s
* ]- o5 p0 r6 H: U* {
% w1 l4 r0 B* j, s @! u+ k7 K
<?
" r1 x$ n# T1 H# i6 w3 k
if (isset($url))
; D, [# v& [' F, G/ \
{
! P& [! Q7 C/ g+ T, I$ l1 H
Header("HTTP/1.1 303 See Other");
0 ^$ C& S9 f$ y& ]
Header("Location: $url");
9 M0 ?- ?* u2 s* S4 U
exit; //from www.w3sky.com
. m5 s/ n+ h; O% J
}
" {9 v+ C* u' [ @, K. ]
?>
: E9 z) E. m3 O3 G
& `1 N1 i' \$ S0 v; \5 ?$ q: n9 |
3 m/ W& j4 E: z0 s& s' u4 x
注意一下,"Localtion:"后面有一个空格。
0 {! s: r5 c2 \8 N3 V H8 e
二、用HTML标记
8 d+ f9 F( Z- v; H" ]: M; {
用HTML标记,就是用META的REFRESH标记,举例如下:
. h( t, o' P8 K, a6 B; f1 ]
7 r9 h, r$ e4 @" g* Q6 z0 i2 n! {
复制代码 代码如下:
" L( j$ m& W: S( F1 @4 v1 S
" x, T4 ?9 k6 g3 S# K
5 W4 B5 S- R+ K
<? if (!isset($url)) exit;?>
4 h$ G; |5 ~( W- h$ L
<HTML>
, m# w+ k4 x* z1 U
<HEAD>
! L- J/ @. U5 N' s5 V
<META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
- L7 r& {7 `2 O2 n! h
</HEAD>
1 K( U* ?' z) Y$ t0 C$ \
<BODY>
4 G0 `8 C# _/ n: }3 w) m& W
</BODY>
2 j8 t* b! W d& t7 A
</HTML>
1 S1 V P# n" b0 m: r8 Z5 p* w
* B. x" C# R1 Q$ O
+ }8 O: [8 m1 [; J+ K
三、用脚本来实现
! A1 }( P, |! M: R9 M
举例如下:
0 S: @" k$ W, U: H) Q
5 b+ z5 S3 {$ F v* }
复制代码 代码如下:
- L3 u. z/ c* U; T9 E, ?) K0 L, v9 H9 _
2 ~" R9 N+ M# y
! k: @+ P: ]! {, ]* C6 P
<?
0 H/ U7 Z3 t1 M* `$ b; @
$url="http://www.jb51.net";
+ o( Y; |7 a) Y0 n
echo "<!--<scrīpt LANGUAGE="Javascrīpt">";
% E5 s1 k, j7 s1 T; \3 C* g
echo "location.href='$url'";
4 E( A* x s' [; ~. L7 w5 Y
echo "</scrīpt>-->";
8 ^7 r! b8 S; ] S
?>
4 K- H0 `+ q+ u' r$ P5 G1 @ F" p
+ D _/ a; U) Q8 x# ]$ K2 z
) I8 i- k7 o0 X
下面是补充
/ b. }; X2 C% A% b: B! d/ ^2 u
第四种:
3 e, N r; d' ^! f; \6 t
echo "< meta http-equiv=\"Refresh\" content=\"秒数; url=跳转的文件或地址\" > ";
! b6 v b0 g# \' ~6 ~$ k7 p
其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面.
. V4 K# t" z' h
* Y* ?( |! z3 e8 P( {/ o
第五种:利用script实现
! q; Y1 w' Q: ~
<script>url="submit.php";window.location.href=url;</script>
( T4 \! Q- b1 j2 @) f
# ?3 o3 l6 h# m
第六种:利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口.
. z: U- m3 r2 t+ v
<script>url="submit.php";window.open(\'url,\'\',\'_self\');</script>
" l. @9 b8 K: F8 n( g* o+ f* R
其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息
+ j/ B* P s/ A! |" z% m
header("Location: Url");
' y, @7 I, \9 A G; x9 I
$ ~' V% F L+ H
速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
复制代码
$ q% a9 }) v1 P E. P
& ~6 ^6 Y% O5 e# s
欢迎光临 科恒数字网-持续研发、集成、交付、运营方案资源库 (https://www.khcic.com/)
Powered by Discuz! X3.5