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

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

作者: admin    时间: 2015-11-24 01:31
标题: PHP 页面跳转到另一个页面的多种方法方法总结
  1. 一、用HTTP头信息 * J8 g* `+ K) N! R
  2. 也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。
    2 p# t) O+ a% S
  3. 用HTTP头信息重定向到另外一个页面的方法如下:
    ; b( x9 u( w* A; b0 m+ j! x% A

  4. ; L% ?  J/ M) p8 n) \4 p
  5. 复制代码 代码如下:
    - h) T- A0 c  M* v
  6. ' c) {5 a% J5 [5 c

  7. + _: o7 D9 m: l: _  T: Y
  8. <?
    + P* z9 }* q% }3 h) {; ^( t
  9. if (isset($url))
    1 }3 P6 g# M5 v) H. x3 m
  10. { 3 B8 |) W/ t6 a
  11. Header("HTTP/1.1 303 See Other"); / h6 j( p0 s- Q( _. k  o6 j
  12. Header("Location: $url");
    6 l2 H# b0 F" i% _. o% }/ ~3 U% A
  13. exit; //from www.w3sky.com , J1 k5 R+ S4 U" s  l  O5 g0 l
  14. } ; K+ ~) D8 N- D0 {# \- O0 U  r
  15. ?> ; N! u5 Y/ t' ?+ G5 I
  16. 6 b2 q$ v0 x2 C" H: U" m- ]

  17. 9 O. `* J+ P& s$ d; l0 {# Z, b! ]
  18. 注意一下,"Localtion:"后面有一个空格。 2 `, @, x" e$ c$ J
  19. 二、用HTML标记 5 S  \( w% m4 F7 \& X
  20. 用HTML标记,就是用META的REFRESH标记,举例如下:. M$ {: ~. E  _  ^( d. v' b

  21. 3 c, A% F; I. _6 c3 K
  22. 复制代码 代码如下:
    % U/ n6 P' g  e, c1 w1 {7 Y
  23. . k* f+ C; S$ b7 l

  24. $ c( F1 U* R, T" v5 z1 C
  25. <? if (!isset($url)) exit;?> * @6 s) ~) A4 I3 V/ l
  26. <HTML>
    $ W  n6 _! _8 g2 I/ m8 ?
  27. <HEAD> 5 Z* g- y& G. |4 B; i# m4 e
  28. <META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
    % ~- w2 V2 |1 L  d
  29. </HEAD>
    ' t1 e: d8 A/ X% \
  30. <BODY>
    - e2 v7 ]  j' X4 Q0 ]+ b; x
  31. </BODY> ) @' C% t/ `# |- l! j
  32. </HTML> 6 c5 w1 d" a1 t' `6 U: m6 E! ?8 |

  33. ; v( m+ {; |4 I3 \7 S0 n
  34. : g, o( V, `. }9 |( }" u% _" F
  35. 三、用脚本来实现
    * K0 b. ~9 ~* a9 w" s
  36. 举例如下:
    2 X% D/ o3 u7 B# t6 y8 ~6 F

  37. ' B6 _! ?0 \1 {5 Y" u; G1 E
  38. 复制代码 代码如下:
    + G( w$ k# g6 l' x

  39. ! R* _. S4 o0 S9 L
  40. ) l/ Q' d5 K1 G+ M: x6 x7 o/ W
  41. <? - L2 P/ M0 `+ |. x) @' B5 F) L
  42. $url="http://www.jb51.net"; 0 [7 E+ D) q: X3 w/ f  C7 h
  43. echo "<!--<scrīpt LANGUAGE="Javascrīpt">";
      L2 j% z' O3 G1 `
  44. echo "location.href='$url'";
    ( w; G  l- J! U5 D6 l
  45. echo "</scrīpt>-->"; ( n7 A7 X2 a9 e4 I) p3 v( u
  46. ?># z! [; Y, J% K2 M; k# V6 X

  47. ) m: A8 n4 a0 N! _8 |
  48. / R: i* X; |# Y
  49. 下面是补充
    6 B4 U: [3 S" a( ^
  50. 第四种: & b" u( x+ b" Y7 z: [
  51. echo "< meta http-equiv=\"Refresh\" content=\"秒数; url=跳转的文件或地址\" > ";
    ; X1 p4 i8 h: `3 V% V- T4 q
  52. 其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面.
    7 y6 t7 V( u3 j! h; }. W+ K8 b- x

  53. * N1 o  }8 v7 L0 L; C9 F7 p
  54. 第五种:利用script实现
    8 p% b5 ~7 o) M8 c# `, H: Y7 z3 }8 n
  55. <script>url="submit.php";window.location.href=url;</script>
    ! b) [- H  T$ F9 n
  56. 1 l4 n5 W" I% a2 V4 m( b0 K
  57. 第六种:利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口.
    # r+ Y" ^1 M) t# {: t4 }: Z" q
  58. <script>url="submit.php";window.open(\'url,\'\',\'_self\');</script>
    ' Y+ k% P$ t0 Z
  59. 其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息 / p% {* @- j9 \& D/ D3 b
  60. header("Location: Url");
    1 I' ]/ {# i) s1 O
  61. % L- v# h/ @  D, s/ D/ {' p
  62. 速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
复制代码
6 s7 K) O! d3 C& `/ ?  o) O: Z# y

  h; X, `. }' ^3 K5 x6 y




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