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

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

作者: admin    时间: 2015-11-24 01:31
标题: PHP 页面跳转到另一个页面的多种方法方法总结
  1. 一、用HTTP头信息
    " U: e; ?- I+ u6 e6 \) ]* s" y
  2. 也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。 - T0 z. |# y! B: }* \
  3. 用HTTP头信息重定向到另外一个页面的方法如下:* }4 Q- Q0 V$ z

  4. 8 i4 F# z- P* ?( {' S2 X
  5. 复制代码 代码如下:6 v$ h. x4 ~8 q6 ?" b9 w) q2 e! M# M: s
  6. * ]- o5 p0 r6 H: U* {
  7. % w1 l4 r0 B* j, s  @! u+ k7 K
  8. <?
    " r1 x$ n# T1 H# i6 w3 k
  9. if (isset($url))
    ; D, [# v& [' F, G/ \
  10. { ! P& [! Q7 C/ g+ T, I$ l1 H
  11. Header("HTTP/1.1 303 See Other"); 0 ^$ C& S9 f$ y& ]
  12. Header("Location: $url");
    9 M0 ?- ?* u2 s* S4 U
  13. exit; //from www.w3sky.com
    . m5 s/ n+ h; O% J
  14. }
    " {9 v+ C* u' [  @, K. ]
  15. ?> : E9 z) E. m3 O3 G
  16. & `1 N1 i' \$ S0 v; \5 ?$ q: n9 |

  17. 3 m/ W& j4 E: z0 s& s' u4 x
  18. 注意一下,"Localtion:"后面有一个空格。
    0 {! s: r5 c2 \8 N3 V  H8 e
  19. 二、用HTML标记 8 d+ f9 F( Z- v; H" ]: M; {
  20. 用HTML标记,就是用META的REFRESH标记,举例如下:
    . h( t, o' P8 K, a6 B; f1 ]

  21. 7 r9 h, r$ e4 @" g* Q6 z0 i2 n! {
  22. 复制代码 代码如下:
    " L( j$ m& W: S( F1 @4 v1 S
  23. " x, T4 ?9 k6 g3 S# K

  24. 5 W4 B5 S- R+ K
  25. <? if (!isset($url)) exit;?> 4 h$ G; |5 ~( W- h$ L
  26. <HTML> , m# w+ k4 x* z1 U
  27. <HEAD>
    ! L- J/ @. U5 N' s5 V
  28. <META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
    - L7 r& {7 `2 O2 n! h
  29. </HEAD> 1 K( U* ?' z) Y$ t0 C$ \
  30. <BODY> 4 G0 `8 C# _/ n: }3 w) m& W
  31. </BODY> 2 j8 t* b! W  d& t7 A
  32. </HTML>
    1 S1 V  P# n" b0 m: r8 Z5 p* w
  33. * B. x" C# R1 Q$ O
  34. + }8 O: [8 m1 [; J+ K
  35. 三、用脚本来实现
    ! A1 }( P, |! M: R9 M
  36. 举例如下:0 S: @" k$ W, U: H) Q

  37. 5 b+ z5 S3 {$ F  v* }
  38. 复制代码 代码如下:- L3 u. z/ c* U; T9 E, ?) K0 L, v9 H9 _

  39. 2 ~" R9 N+ M# y

  40. ! k: @+ P: ]! {, ]* C6 P
  41. <? 0 H/ U7 Z3 t1 M* `$ b; @
  42. $url="http://www.jb51.net";
    + o( Y; |7 a) Y0 n
  43. echo "<!--<scrīpt LANGUAGE="Javascrīpt">"; % E5 s1 k, j7 s1 T; \3 C* g
  44. echo "location.href='$url'"; 4 E( A* x  s' [; ~. L7 w5 Y
  45. echo "</scrīpt>-->"; 8 ^7 r! b8 S; ]  S
  46. ?>
    4 K- H0 `+ q+ u' r$ P5 G1 @  F" p
  47. + D  _/ a; U) Q8 x# ]$ K2 z
  48. ) I8 i- k7 o0 X
  49. 下面是补充/ b. }; X2 C% A% b: B! d/ ^2 u
  50. 第四种:
    3 e, N  r; d' ^! f; \6 t
  51. echo "< meta http-equiv=\"Refresh\" content=\"秒数; url=跳转的文件或地址\" > "; ! b6 v  b0 g# \' ~6 ~$ k7 p
  52. 其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面. . V4 K# t" z' h
  53. * Y* ?( |! z3 e8 P( {/ o
  54. 第五种:利用script实现
    ! q; Y1 w' Q: ~
  55. <script>url="submit.php";window.location.href=url;</script> ( T4 \! Q- b1 j2 @) f

  56. # ?3 o3 l6 h# m
  57. 第六种:利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口.
    . z: U- m3 r2 t+ v
  58. <script>url="submit.php";window.open(\'url,\'\',\'_self\');</script>
    " l. @9 b8 K: F8 n( g* o+ f* R
  59. 其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息 + j/ B* P  s/ A! |" z% m
  60. header("Location: Url"); ' y, @7 I, \9 A  G; x9 I
  61. $ ~' V% F  L+ H
  62. 速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
复制代码
$ q% a9 }) v1 P  E. P
& ~6 ^6 Y% O5 e# s





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