科恒数字网-持续研发、集成、交付、运营方案资源库
标题:
PHP 页面跳转到另一个页面的多种方法方法总结
[打印本页]
作者:
admin
时间:
2015-11-24 01:31
标题:
PHP 页面跳转到另一个页面的多种方法方法总结
一、用HTTP头信息
/ F% D5 ?) }0 X4 {0 L4 Z7 a9 o
也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。
# ]$ {! n7 D; |' N+ e
用HTTP头信息重定向到另外一个页面的方法如下:
6 U: K' l7 p9 Y
0 x1 z5 s) x( g s" M/ {+ g
复制代码 代码如下:
7 w8 s, g9 M3 I; J" Y/ h* v1 b
$ R4 l+ h' U1 Y- D- J# \
, S8 q0 p, y v5 }) p! L
<?
/ [" G* i) o& B+ N
if (isset($url))
- P) c1 ]9 r/ w9 L
{
0 O# M" S9 H" A4 R2 i1 O
Header("HTTP/1.1 303 See Other");
3 z9 R% Y, C v
Header("Location: $url");
1 k7 ^6 ]4 }7 s q
exit; //from www.w3sky.com
( I- u& N, b7 I4 T) c) M
}
1 k0 f3 Y2 l, \: b+ m
?>
8 X/ v/ A& n0 H: q# Q
, X" f# j' d; i. E0 o. ^3 [ U
7 N8 ]9 w& e$ U0 Q& U9 ^* H6 \
注意一下,"Localtion:"后面有一个空格。
% ]/ e4 R" T6 \9 \. Q+ N
二、用HTML标记
. _7 U$ R$ o5 V* y
用HTML标记,就是用META的REFRESH标记,举例如下:
. g( G3 ` i6 x7 w
( \' p4 [- u+ M( g9 a
复制代码 代码如下:
2 w, x& r# K2 c2 a: q
* \! A+ H( R$ M( ^
; y% l Q2 O7 B0 \1 T( z
<? if (!isset($url)) exit;?>
+ I. ^- p, \4 B* s
<HTML>
, f5 K! U% i# N0 T5 e5 x+ x
<HEAD>
9 \0 Q8 l' O% _" l- l. k! @! @3 H3 w
<META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
' q; G. E9 M8 Y1 @5 r1 \
</HEAD>
! @6 O j, M: A) T2 q
<BODY>
( C* h+ |9 h2 e4 ]3 a
</BODY>
& D" B2 y6 a5 L0 `: }; ?
</HTML>
( I: K4 a5 v* Q }4 _' K
$ ~6 T- H) \% S; L0 p
, w8 t( Y; T* d0 ^9 F$ }8 }/ H
三、用脚本来实现
1 \; G; X% ]1 j% M4 ?- Y
举例如下:
3 L+ q- B- q% n. @' R) i- n
P4 \; t% G7 |2 i/ V
复制代码 代码如下:
; F) u5 n, |1 Z
% i* J! m6 f) W1 u
7 O& v6 m' |; d3 Q& _2 I* j
<?
$ l1 U5 ?: @& A
$url="http://www.jb51.net";
' u' o- `1 @; O
echo "<!--<scrīpt LANGUAGE="Javascrīpt">";
1 [. j& [ Q& p, A
echo "location.href='$url'";
" |. f4 p) S, G m6 D
echo "</scrīpt>-->";
; U0 r$ s. _; P% U5 g
?>
2 P6 T3 z: r$ O
1 S3 g& J& D4 ]% L \" Z9 B! P
: G4 R# m5 c6 L% F# e, E* D$ \
下面是补充
( v- w1 v/ L' x4 ~! V
第四种:
' ]1 }9 ^0 F `: j5 K$ [6 D- e1 m1 q. t1 ~
echo "< meta http-equiv=\"Refresh\" content=\"秒数; url=跳转的文件或地址\" > ";
: F7 a( b2 ~: O2 M: D- [' J& e j
其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面.
4 M9 B0 k. ?! A! F+ O. l
" Y( b2 i3 v) z
第五种:利用script实现
$ c$ O# C) q# y1 g) k+ Z8 e
<script>url="submit.php";window.location.href=url;</script>
$ S/ y9 I' \0 u) R8 H
; o# }- `0 V- ? Y2 | G0 k
第六种:利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口.
# w+ m f) }( v/ L" p& o2 `$ {
<script>url="submit.php";window.open(\'url,\'\',\'_self\');</script>
! p4 \1 _0 ^6 z- _9 ^7 p! b
其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息
( B6 X; }/ I8 t9 _, h( O
header("Location: Url");
" ]% g! ^- k0 g$ q' M8 D8 N
2 ^7 j" _! y4 q! b, r# g
速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
复制代码
* ~0 B; r7 y! E# J7 M1 l7 R
( C) o( ]* _: ?, U2 P
欢迎光临 科恒数字网-持续研发、集成、交付、运营方案资源库 (https://www.khcic.com/)
Powered by Discuz! X3.5