科恒数字网-持续研发、集成、交付、运营方案资源库

标题: PHP 页面跳转到另一个页面的多种方法方法总结 [打印本页]

作者: admin    时间: 2015-11-24 01:31
标题: PHP 页面跳转到另一个页面的多种方法方法总结
  1. 一、用HTTP头信息   v7 ?6 o- H6 P' J
  2. 也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。 * Y* M' y3 t" I* z5 ~; c# b- [! [
  3. 用HTTP头信息重定向到另外一个页面的方法如下:
    3 T: G( l& Z- |& X7 Y7 l; J
  4. ( M5 r  E, d: ~! N; ]
  5. 复制代码 代码如下:
    ! }. a+ Q  R$ A; G. X: k
  6.   o. N6 v; `3 {  @& Z$ a, {' z; f

  7. 8 W$ {. n+ |6 B5 y2 S- v
  8. <? " ^2 `# u$ G& C
  9. if (isset($url)) 4 Z; S2 l, V2 ^
  10. { 5 O4 }& ^; @( n# h# `2 W' {8 _( _
  11. Header("HTTP/1.1 303 See Other");
    , e( |; F3 ]' ~* U) `6 E5 V$ y
  12. Header("Location: $url");
      G% ?2 c  r. z8 P& N1 s; u
  13. exit; //from www.w3sky.com
    2 W! G, p0 P9 F6 a
  14. }
    - R3 `3 ~& H5 y/ A* x
  15. ?> + U) Q3 O+ s' M3 y) w. V

  16. # e4 E1 ~1 h! \# D! @
  17. 7 S9 E& `, J+ T0 B1 X1 |' S9 e. U
  18. 注意一下,"Localtion:"后面有一个空格。
    4 W: u- o) ]8 A8 L9 H1 g
  19. 二、用HTML标记 4 Y1 D! i& Q5 S! X3 Q
  20. 用HTML标记,就是用META的REFRESH标记,举例如下:+ Q- N% `- {- A) o$ y

  21. " b  c0 t$ D7 g" K, E/ P2 D- U2 f# J
  22. 复制代码 代码如下:; p$ ^" z( T3 ^8 E# p8 ?! b
  23. 5 A' T9 _" E3 [5 [  t
  24. 4 O2 J, F3 E# K0 Z" q: p
  25. <? if (!isset($url)) exit;?>
    " H2 N# g- @5 _/ \( S! H
  26. <HTML>
    $ `* _/ H4 |2 p3 Q+ Y! f6 v  V
  27. <HEAD> * [3 [4 `) ?+ o# F& m
  28. <META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
    ) V8 X8 o  o+ T1 E$ O# V! {
  29. </HEAD> % [% u- b( F2 c
  30. <BODY> / O7 T! e! }4 ^; ]  L) E
  31. </BODY>
    & q+ {6 s" d7 S3 x$ m
  32. </HTML> * P9 b6 Y. Z, p/ c! b

  33. 1 c$ \& h& U$ T" w( B6 h
  34. 0 {" G+ H4 D9 u+ _3 L+ ^
  35. 三、用脚本来实现 " s8 r7 e7 H3 u8 c. z4 h
  36. 举例如下:  j! j% Z( N4 o( u
  37. 8 t3 L* W! `* C# l. [# `: s
  38. 复制代码 代码如下:& w* Y; e. T( @0 p9 M7 K7 E3 K

  39. + G7 L4 C) O  Y% c* V
  40. 5 \1 A2 _9 ~8 l8 f8 q0 B3 g
  41. <? - n; z3 i* _$ W
  42. $url="http://www.jb51.net";
    " g, d4 G( J9 H0 Q6 m  L7 z
  43. echo "<!--<scrīpt LANGUAGE="Javascrīpt">";
    & {2 ~4 @# x4 I* _2 b$ n
  44. echo "location.href='$url'";
    , B6 }. n6 [' `8 X! \
  45. echo "</scrīpt>-->";
    ( r+ c4 {+ O4 j
  46. ?>( {" k' Y. e/ z1 E& M- M

  47. + S1 _4 f& R% s0 B
  48. * ~7 ^- x* o0 B- K, a$ p8 `' y: k8 d* D
  49. 下面是补充/ b5 z" V2 _8 s7 w& x
  50. 第四种:
    $ ]& }( N7 G* T8 Z6 j' o
  51. echo "< meta http-equiv=\"Refresh\" content=\"秒数; url=跳转的文件或地址\" > "; , M2 I+ a) E; s$ i9 N8 G
  52. 其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面.
    ' t& J4 x  e+ p$ H2 ~. N

  53. 1 G% K' j- l0 j: L* ^
  54. 第五种:利用script实现
    3 S, n! i7 F4 B$ q& A
  55. <script>url="submit.php";window.location.href=url;</script>
    # ^* Q' B0 v0 ~9 P: j' H

  56. - Y+ E$ X2 D& M5 T
  57. 第六种:利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口.
    4 ?) ?5 k- E6 Q) P1 O
  58. <script>url="submit.php";window.open(\'url,\'\',\'_self\');</script> & h( n: ]7 Y# N$ a& b$ j7 u. M
  59. 其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息 3 W0 b% K+ s9 f9 n" F( L
  60. header("Location: Url");
    8 y1 F# Q0 D, @8 Q3 q

  61. ) u9 D6 e# O8 x& W% o1 J% j% I7 Y
  62. 速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
复制代码

0 t0 w/ o& h% I- @2 R$ [/ ?1 v9 H
+ H0 V3 w) a6 R; p8 v




欢迎光临 科恒数字网-持续研发、集成、交付、运营方案资源库 (https://www.khcic.com/) Powered by Discuz! X3.5