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

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

作者: admin    时间: 2015-11-24 01:31
标题: PHP 页面跳转到另一个页面的多种方法方法总结
  1. 一、用HTTP头信息 ; H2 N- X5 p- c- ^
  2. 也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。
    . t7 k: c" `* W/ j* e- t) |" Z" I) F
  3. 用HTTP头信息重定向到另外一个页面的方法如下:
    $ J# S6 {! m4 q. G
  4. . K- ^5 Y' F' w6 X# ]8 ^0 V9 H* U. p( T
  5. 复制代码 代码如下:' [- j9 v9 Y& ~* n0 Q3 K3 h/ S

  6. & m" U9 n& ~, H! L$ t; P8 m! }

  7. 3 k! _' I2 w6 t% [
  8. <? , |" c/ H& [0 o
  9. if (isset($url))
    1 U/ m  _8 u; g6 h- L4 z+ c
  10. { $ i' a2 l  ?" A) ]) [
  11. Header("HTTP/1.1 303 See Other");
    - S- a4 R- U, p1 t
  12. Header("Location: $url"); ! h/ H# P9 ^" G2 [* h
  13. exit; //from www.w3sky.com * i  j- V8 H. u3 _; K) e7 v
  14. } - w& j$ m( h5 u
  15. ?> ' p, E8 [2 e& N$ {% S
  16. 3 Z5 J& F5 a& L" D5 }6 e
  17. ) M0 |& R% v/ x
  18. 注意一下,"Localtion:"后面有一个空格。
    % ]7 u$ y4 q# f) O  p
  19. 二、用HTML标记
    6 K- N6 H8 g& k- t. \& C, E. n
  20. 用HTML标记,就是用META的REFRESH标记,举例如下:
    4 |' w8 F' v  s) w! N7 \+ X+ V

  21. 6 x& Q6 d% S# |
  22. 复制代码 代码如下:
    - d( W, v3 V& ^: l& \; j
  23. 4 }( E/ x& E# A' Z7 B/ Z% I
  24. & _7 Q( Y4 D/ ?: b; B. j$ O9 d
  25. <? if (!isset($url)) exit;?>
    3 q% t& d" K* m# v- H% b
  26. <HTML>
    4 X. [& f2 U  ~3 l; k
  27. <HEAD> 9 d7 }% W" Z" n% ]& a+ x/ y
  28. <META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
    " z/ t" m. L7 t# x4 k
  29. </HEAD>
    # r( _1 H% l/ l! w7 l
  30. <BODY>
    ( w! j" Y4 M, I! N
  31. </BODY> 8 Y' Z; T; [6 E6 t7 `, |- A0 h# i
  32. </HTML> ! o- W! U3 N  D. @  J7 S% k3 T8 v$ R

  33. " I8 S- \+ O  j- q( h% n0 t

  34. 1 n" j/ j; K( I! Q) y+ l" {; x
  35. 三、用脚本来实现
    2 C; u9 Z8 r) h& s
  36. 举例如下:3 |$ Y0 l. r! x- \0 z; P
  37. ' q% x8 Y2 m* v; ^, r' S
  38. 复制代码 代码如下:
    ; _. S$ \  a: H/ h) l
  39. # P! Z& l9 n# e' ?

  40. 1 Y9 l4 ?7 J5 Y, y# ]# T# {, T
  41. <? ' g; D2 e& `: X4 x; c7 i
  42. $url="http://www.jb51.net";
    " n8 u! q5 L: E3 ]* l5 o
  43. echo "<!--<scrīpt LANGUAGE="Javascrīpt">"; 0 V0 f' X, Q* v
  44. echo "location.href='$url'";
    7 A: T- t5 m! g, b+ w* R
  45. echo "</scrīpt>-->"; 8 L/ x% z- ~$ K) v/ G3 y5 C
  46. ?>2 B1 [" H: b' X

  47. & u  V5 j4 w8 F9 G2 z% W" q$ v$ W

  48. 8 }  L" \) ?  u& ]0 |5 @* ^
  49. 下面是补充
    : U, O1 B1 R5 \- D% V3 z; G. N+ z2 X: G' ^
  50. 第四种:
    ; K# w. C3 T" o- \( x+ r6 S
  51. echo "< meta http-equiv=\"Refresh\" content=\"秒数; url=跳转的文件或地址\" > "; 2 F# K9 f: M& J. i
  52. 其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面.
    # G2 Z$ g; f" ^( c! Z

  53. # X3 q5 y2 b, q' s% S$ Z: `
  54. 第五种:利用script实现
    , B, ^- U+ j' Z$ Z
  55. <script>url="submit.php";window.location.href=url;</script> & C2 |  c- o* _: n* {& m7 |
  56.   z$ k6 P  Y" i% j& J* f
  57. 第六种:利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口. 3 G9 W7 ~( n" L5 Q9 u# j, X
  58. <script>url="submit.php";window.open(\'url,\'\',\'_self\');</script>
    7 N8 @$ K  T+ [$ K
  59. 其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息 * U% h: F( m7 q; S% h& Z
  60. header("Location: Url");
    : ]$ e( T) M/ l% |' Z4 ~" d

  61. ' o+ z" L" v2 d: i' w
  62. 速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
复制代码
4 g2 |, D3 f; Z/ U# U/ G9 F% P7 t
( |0 }" X) b$ _





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