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

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

作者: admin    时间: 2015-11-24 01:31
标题: PHP 页面跳转到另一个页面的多种方法方法总结
  1. 一、用HTTP头信息 4 m+ J3 N6 D0 d- D4 U  d; _6 \
  2. 也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。 ' v  h: `" n3 U* c" O! u  [
  3. 用HTTP头信息重定向到另外一个页面的方法如下:
    $ T, G! X. M' G

  4. 3 x2 [1 r' }, ~+ K& F. Y, a
  5. 复制代码 代码如下:: C! w) P* @8 ]5 A$ r0 M6 }1 q

  6. 2 b1 X7 X( K  Z. I/ C/ v
  7. ! \  B' c  O0 p0 p- L
  8. <? ' M( }: r% v8 W" M2 d
  9. if (isset($url)) , Z( l9 `5 `) H) q/ w7 j1 v/ R
  10. {
    $ S( I4 c8 D0 L7 R! [
  11. Header("HTTP/1.1 303 See Other");
    0 J, h7 u, t. O. ^3 Z* ]
  12. Header("Location: $url"); 8 q" H9 Z" z2 c5 ?* D9 u
  13. exit; //from www.w3sky.com : h/ l/ y7 @; R4 M$ a: ^% ?$ v
  14. }
    - G- k/ b/ g' R- O$ V# j
  15. ?> . R4 W/ w7 \, ~0 E4 U
  16. # J. n/ r/ C1 Q
  17. 3 |4 \8 p& R( _/ I# t9 T
  18. 注意一下,"Localtion:"后面有一个空格。
    ! B. ]- S+ C, z2 a
  19. 二、用HTML标记 0 V6 u! C* X. X  ]! _( ^  ^" e
  20. 用HTML标记,就是用META的REFRESH标记,举例如下:
    0 B: A0 x8 S# x0 F
  21. 2 K+ @. s7 v( E) ]2 p
  22. 复制代码 代码如下:( j/ W% X2 g" t
  23. 1 |' v& m  J' f3 e0 w! ~& Y
  24. 3 H0 b, R. x! P
  25. <? if (!isset($url)) exit;?>
    6 n' W8 E" U. j- z  |
  26. <HTML>
    1 A5 j1 c3 G2 a! X! x. v
  27. <HEAD>
    ( m7 {) Q' P. q  V* G8 F
  28. <META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
    # [+ W2 \4 p" g% d3 \# Z6 ]
  29. </HEAD>
    4 g# }8 i# W1 R% E- y  |9 e
  30. <BODY> * }7 o6 Y4 Y2 ]- w: j  A% `  o
  31. </BODY>
    - D( N. P8 t) S
  32. </HTML> 4 t$ a; h* U5 }+ q

  33. : W$ f* B8 v, ]

  34. 4 T5 \1 x! t7 q# S
  35. 三、用脚本来实现 + a  ^0 t$ E# r* L' P, v
  36. 举例如下:
    % L$ ?) E1 u+ }- r
  37.   {8 b& T3 Z/ a. X. k/ `
  38. 复制代码 代码如下:
    ' ^8 Z3 k8 q% d! y0 O5 U
  39. ! ~0 O4 ^$ |1 z( g

  40. + C$ c5 @$ N  ^. R# \& _2 e% o# t; X
  41. <? : h1 ?8 R0 y+ T2 @
  42. $url="http://www.jb51.net";
    7 y  `) j/ y7 X: t, z7 E
  43. echo "<!--<scrīpt LANGUAGE="Javascrīpt">"; % @3 A+ V) A" X: r! ^
  44. echo "location.href='$url'";
    ( ], V; Q# _6 i* v3 d
  45. echo "</scrīpt>-->"; 4 M. I* P+ U* ?4 m$ C: u  ]4 A
  46. ?>
    3 n, Y* j  c, F9 [0 r
  47.   n) S) B" R1 W& C  X# i5 J

  48. 7 D( e/ _: R5 V& ^$ L$ s# e  i3 @
  49. 下面是补充, D* _5 y- Z! |( M" A3 I) ~0 ~( o
  50. 第四种: " P$ m* r' X. |( I9 o# N9 v
  51. echo "< meta http-equiv=\"Refresh\" content=\"秒数; url=跳转的文件或地址\" > ";
    + a% [, H# b0 e3 ?
  52. 其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面.
    , r; I+ k$ _/ K6 n5 U7 [

  53. 3 p# y3 N7 ~7 u; l
  54. 第五种:利用script实现
    4 v9 ^+ a% w: J; x+ |0 Y2 X
  55. <script>url="submit.php";window.location.href=url;</script> , m# d+ f4 g2 e1 h6 O
  56. + P! J" X' T3 z  F" N: P9 T2 B, z
  57. 第六种:利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口.
    ' C- j$ _3 i7 ^. I% f
  58. <script>url="submit.php";window.open(\'url,\'\',\'_self\');</script>
    . |4 f% T( ^, P$ `
  59. 其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息
    1 d( V% w; D" V( k& P
  60. header("Location: Url");
    : B6 A: n: ]1 e4 j4 |! |& T+ |
  61. 9 D4 J  }# i3 @+ H, a: `6 \
  62. 速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
复制代码
" _) w0 i; _6 I' {  ?1 ?

6 D8 m1 n! [5 u$ [/ ]* X" W




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