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

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

作者: admin    时间: 2015-11-24 01:31
标题: PHP 页面跳转到另一个页面的多种方法方法总结
  1. 一、用HTTP头信息 2 ^8 S% z7 v" H8 J
  2. 也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。
    * ~$ r# V# K- G, c: ^5 `+ x
  3. 用HTTP头信息重定向到另外一个页面的方法如下:. q% s3 g) p/ h( C4 [
  4. * m+ R: E& i2 G! _8 L  t0 j
  5. 复制代码 代码如下:0 d" S$ y# f  j5 ^: M
  6. * R1 K' {+ D9 ^$ d9 w
  7. , n( |0 h' {# Q0 D) H6 a
  8. <?
    3 l2 `5 T1 v( R5 {* W
  9. if (isset($url)) . ?# \" F- T' Z+ a- B
  10. {
    ( h# _' c" S/ B6 `8 `, k3 H
  11. Header("HTTP/1.1 303 See Other"); / {/ c2 {$ `" R! L2 p
  12. Header("Location: $url"); # l9 m7 \9 d& u  W9 H1 H
  13. exit; //from www.w3sky.com
    7 c, ^( s5 H& F, o# M4 e  [4 Z
  14. }
    " w! a$ z" X* F, Y$ j
  15. ?> 5 H+ b; f3 b6 G4 W: D5 T
  16. 0 W/ Y6 E& {" s1 a  I3 f. |- t, F+ u

  17. + _7 B( [( U' t/ O5 f; ^: I; S; b! _
  18. 注意一下,"Localtion:"后面有一个空格。 ! Z7 j4 a. ]3 h/ W  q
  19. 二、用HTML标记 " d/ A) l/ Z( e) W7 R* U
  20. 用HTML标记,就是用META的REFRESH标记,举例如下:
    2 j) y" k, S. q5 p5 X
  21. $ q$ b" a. K1 ~5 e: `2 B; A
  22. 复制代码 代码如下:/ S; b( }" j! u
  23. ) b) v4 P; E1 m4 a" B
  24. & N. Q, {7 e; U) D
  25. <? if (!isset($url)) exit;?>
      C) q* L) E, P- X5 |
  26. <HTML> - ^( G; f+ V8 `0 q3 m( A+ V3 N
  27. <HEAD> - f6 X. W+ F$ w4 \
  28. <META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
    ' l! g0 ^; c, u+ @
  29. </HEAD>
    2 K" d" Q' r" m. O. Z7 ^
  30. <BODY>
    # m8 Q, c- \$ V2 W' l2 U2 @
  31. </BODY>
    / f3 L/ r7 J* I& G# F; a. t( I
  32. </HTML>
    ; P& G) E0 M# E3 u0 v+ ]/ ?6 I2 l1 F

  33. 7 F2 H# Z! W# ]

  34. $ D: |$ `) ~# p  `0 `
  35. 三、用脚本来实现 7 z4 p# z) x6 F& p" N2 R
  36. 举例如下:
    $ s6 [& v/ W+ R: N9 F5 `2 r) R
  37. ; \" C2 R4 P. P5 |
  38. 复制代码 代码如下:
    " d) W3 `: i0 q* P, z

  39. " P& w/ l. i5 j" w' c8 M9 M  y

  40. ) c* y; y% H- J5 l2 s
  41. <?
    ! }$ j* ~' \; I0 p
  42. $url="http://www.jb51.net"; / ~& }) V& m, o4 q* z/ H, q$ u
  43. echo "<!--<scrīpt LANGUAGE="Javascrīpt">";   {! W/ P5 b0 M) n
  44. echo "location.href='$url'";
    4 @: p- I& x1 G/ c* C) f  j
  45. echo "</scrīpt>-->"; 5 B+ |/ v, ^) L( k1 B9 M
  46. ?>  J0 F3 ]! t+ ~4 q
  47. & a- r4 e$ P1 R/ u* V  H" |

  48. , B1 L: `4 q9 L& c
  49. 下面是补充
    + x3 I/ v3 H$ u& |/ ?
  50. 第四种: 8 _- V5 m7 x/ u
  51. echo "< meta http-equiv=\"Refresh\" content=\"秒数; url=跳转的文件或地址\" > ";
    - Q! l. e7 t, g) j  a/ b( ?
  52. 其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面. % |7 Y$ f, d; e/ e  F3 D; b7 l
  53. ; D& Q" l0 f+ h0 A3 p9 K% y# m2 v/ W6 Z
  54. 第五种:利用script实现 ) e* x6 y1 Y. T
  55. <script>url="submit.php";window.location.href=url;</script>
    2 Z1 E6 _7 U9 R5 ]

  56. $ k& [) m0 j# J; a; U
  57. 第六种:利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口. + x1 W, K" E# h. t- w% J' \
  58. <script>url="submit.php";window.open(\'url,\'\',\'_self\');</script>
    $ N1 v! S3 X0 x  C: Y2 b
  59. 其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息 + ^7 X2 e1 Q/ O  t) }, S* e: J
  60. header("Location: Url"); - h7 \% G! J# }0 [
  61. ! \. ~0 G$ s. W& p4 \4 N, C
  62. 速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
复制代码

' h5 M, I/ \2 t* L
- n$ Q- ]+ D4 M, r




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