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

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

作者: admin    时间: 2015-11-24 01:31
标题: PHP 页面跳转到另一个页面的多种方法方法总结
  1. 一、用HTTP头信息 8 J; f. H' I3 H' `; W2 S
  2. 也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。
    . q0 n' D/ y1 A- v' U
  3. 用HTTP头信息重定向到另外一个页面的方法如下:0 j0 {$ n6 O  d$ `8 G0 {, z
  4. 4 K9 Z$ u8 c: _1 X2 X( G
  5. 复制代码 代码如下:
    3 C5 h7 o1 B" z: |' i# d
  6. % T/ V& [4 c: [! N$ c4 ?, q8 K

  7. ; V; W/ d) v" \! R* s( K
  8. <? 2 a6 U+ V3 s, e6 x7 v5 s
  9. if (isset($url)) 3 e8 }1 f4 j3 u- ^
  10. {
    . i3 S! q/ M" b% h" l# ]0 Z7 L) }
  11. Header("HTTP/1.1 303 See Other");
      Z/ w. k) l: d& l
  12. Header("Location: $url"); % Q7 I( `% W' @9 W" ~6 L
  13. exit; //from www.w3sky.com
    8 z1 g, i* Y3 L3 h) `1 S
  14. }
    ! |- H& z5 {! e. R9 \  M$ z
  15. ?>
      L$ {" q4 J# J9 k) ^; a+ l

  16. 6 _' h+ L- }: K( j7 \

  17. ! e6 t! L6 F- @* J% f
  18. 注意一下,"Localtion:"后面有一个空格。
    7 ~+ q' o* B. H, A, v+ d
  19. 二、用HTML标记
    4 v4 y  `* N- U7 g
  20. 用HTML标记,就是用META的REFRESH标记,举例如下:3 D* [0 K  I" b7 x3 z! B
  21. 4 H7 E- Y% x& X$ U4 N( p( _
  22. 复制代码 代码如下:
    ( k) k2 X; N2 e% M/ I8 h1 v2 W
  23.   o2 |+ U' L; f) k
  24. / Q. |2 Y& j. e- a: K
  25. <? if (!isset($url)) exit;?>
    5 E4 l% F) G4 w# u1 f
  26. <HTML>
    / Y. S, V, B" V* T* I1 Q* z
  27. <HEAD>
    ! m2 D9 e& O$ a) y  b
  28. <META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>> * W% Y3 {% S9 L7 G/ d& s: V& U$ ]
  29. </HEAD>
    . T4 F7 B/ a. @8 K6 k
  30. <BODY>
    , h1 g  D. `, u4 h# x
  31. </BODY>
    1 i$ }: Q4 l$ Y. l, O  y
  32. </HTML>
    + @3 g' O6 q* O

  33. 1 M& u  D( I$ V% K
  34. 9 `+ s5 Q; j$ B4 [/ ~$ n5 f
  35. 三、用脚本来实现
      J3 G' x( s( C0 n9 c1 x% ~5 \- D: b
  36. 举例如下:6 R2 M' M2 ~! A- L+ Z+ k
  37. : _  @$ e' A- U' Q9 T
  38. 复制代码 代码如下:8 Y2 H& A: M7 s  u

  39. 3 j" j8 g7 R* {# F7 p& _, N

  40. , s8 f% ?/ j4 A7 e
  41. <?
    9 C) S; U5 b" t( C6 j, H9 W8 k1 |
  42. $url="http://www.jb51.net"; , q& M6 ~0 R8 b, ?' W
  43. echo "<!--<scrīpt LANGUAGE="Javascrīpt">";
    4 G4 i  q: {/ |# ~
  44. echo "location.href='$url'";
    , `2 a$ w" }2 B$ F. R
  45. echo "</scrīpt>-->";
    2 R7 D2 R, s8 T+ u+ p5 D4 P( A6 C( I
  46. ?>
    2 ^* U9 c; d- L6 d7 Y" c

  47. 2 y! F: n: r6 y5 f! c; r

  48. * S) u! I# M) b! h' l
  49. 下面是补充
    2 ?7 I2 b9 j% @, H) V
  50. 第四种:
    9 U8 x2 E- a2 B' Z- b
  51. echo "< meta http-equiv=\"Refresh\" content=\"秒数; url=跳转的文件或地址\" > ";
    9 g: f) q3 ~- m1 L( b8 u- I, e9 e
  52. 其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面.
    " l. L( S4 Q* c* Q

  53. ) ~5 P' R3 \* L2 m3 ~/ Z3 }; a
  54. 第五种:利用script实现
    . {6 m9 ]" d- x' b7 u6 h
  55. <script>url="submit.php";window.location.href=url;</script>
    3 K2 f  n  O9 m# G4 A- ~. z

  56.   Q' j8 L& n: Z1 l, g/ }% k- P. ~
  57. 第六种:利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口. 8 v  m+ K: }3 o' J' y: d
  58. <script>url="submit.php";window.open(\'url,\'\',\'_self\');</script>
    ! F8 i2 ~. a4 N( B( ]
  59. 其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息 - f5 S0 v2 g, z9 Q) a+ N. Y
  60. header("Location: Url");
    - q  P$ b& A5 ?4 D" k- X( i2 U$ U
  61. 9 {* P; i$ Y0 {0 E1 g
  62. 速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
复制代码

, t) e0 p. r  L" x3 F
8 }( Z3 p& h6 N




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