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

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

作者: admin    时间: 2015-11-24 01:31
标题: PHP 页面跳转到另一个页面的多种方法方法总结
  1. 一、用HTTP头信息 & D4 u4 r( M7 k! Y' v9 d$ d
  2. 也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。
    9 P! U( v6 U8 d- C/ Y' y, C" K
  3. 用HTTP头信息重定向到另外一个页面的方法如下:
    # T( @) ]% k, k8 F, g* R7 |5 t
  4. ; l, Y5 D2 {, Q$ c; X
  5. 复制代码 代码如下:
    8 }4 ^. r' r; X) z% P! B9 Q/ R

  6. ' b3 Y/ D) T  ]- J! m+ y2 e& y. }

  7. * ^: W- J& @1 }# B! V
  8. <?
    ' y- N& r1 A2 k$ `$ c) m5 B% M6 }
  9. if (isset($url)) 0 W6 S7 V' U% W$ a: t1 o: y
  10. {
    5 N5 g% L0 K5 v, G# ~* ~' X
  11. Header("HTTP/1.1 303 See Other");
    8 W9 G% R5 |0 m9 d% v
  12. Header("Location: $url"); % b% G3 |3 e, p4 g2 A: k
  13. exit; //from www.w3sky.com : h8 `$ y; z. `
  14. } $ U% F9 w4 l& l3 K- c) ^; ?" ~, ~
  15. ?>
    9 H  _& C: y; K1 G- p7 f; N
  16. 9 {2 U' j& w& L" F9 v" }0 N
  17. 4 N. t7 N/ I0 Y0 v
  18. 注意一下,"Localtion:"后面有一个空格。 ; ^% E4 r3 P3 P. d5 K( a7 T
  19. 二、用HTML标记 2 b% X6 r* Z! p5 _
  20. 用HTML标记,就是用META的REFRESH标记,举例如下:7 e7 I& Z" B. O6 V2 Q3 t

  21. . u$ h6 u2 R5 O2 W! |7 Z  @; P
  22. 复制代码 代码如下:' U  `- k. A5 U6 X
  23. ( _4 ~# N( U( X% ?; v: a& C2 K

  24. , x9 G. t6 z! u- G
  25. <? if (!isset($url)) exit;?> ! [0 J; d) T; t* o( L
  26. <HTML>
    . |7 F( }$ I! J  u) X8 H9 e; w; v
  27. <HEAD>
    . C) R  v1 _( U9 K
  28. <META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>> ' R# a2 A! X* L# r$ S! j$ p
  29. </HEAD> " q3 A8 Z1 k' l4 ~& l) ^
  30. <BODY> 8 D: A! @* e- K" U& @
  31. </BODY> ; ~+ P3 I! F3 h" r$ j2 b. K
  32. </HTML>
    7 T, l$ u7 v0 x. B" `
  33. * b, w+ P4 N7 Y5 h4 Z
  34. ) J4 V( A9 H. @2 |) E/ M. V
  35. 三、用脚本来实现 ' Z5 p4 a0 f/ l+ s, @
  36. 举例如下:
    5 T  @, D" A, j! s9 \3 X( |7 h1 g
  37. 0 D  d3 k+ H" z. Q3 ]
  38. 复制代码 代码如下:
    0 [! u3 P* x6 F" ?) d3 Q: I3 }% _

  39. ! q: S* U$ z; C2 `6 \% Q  R

  40. % u( r9 |3 _% I2 `% e& L8 S
  41. <?
    + i/ X6 @: O. I% [: ?3 [
  42. $url="http://www.jb51.net";
    2 }$ v  y3 M9 w( c  L/ {7 }1 ?. G
  43. echo "<!--<scrīpt LANGUAGE="Javascrīpt">";
    , R" p6 k6 m8 o( M; \/ E
  44. echo "location.href='$url'";
      ]% f) b! ~6 M9 y+ @0 H% @' V
  45. echo "</scrīpt>-->"; ; z4 R3 o. s4 \! s- W5 f
  46. ?>+ L) l1 F8 n. k8 U4 d4 `) H5 {( R: p5 [
  47. 4 q7 h; F9 |% m3 U, b& I4 k
  48. 8 ?$ e1 L; S1 l
  49. 下面是补充* y5 }; n0 C9 P7 i- u3 N: k( |; G- e
  50. 第四种: - Z, c4 q4 F/ |  ~$ F
  51. echo "< meta http-equiv=\"Refresh\" content=\"秒数; url=跳转的文件或地址\" > "; 8 e8 O4 P  l6 \- A
  52. 其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面. / w* g' L0 z/ R! r% h" c1 y+ C

  53. ) [& E# e9 f* z/ B
  54. 第五种:利用script实现 2 U1 C" _. O4 I) Z. d
  55. <script>url="submit.php";window.location.href=url;</script>
    9 X0 e  N) I1 k. z6 }

  56. ' a. c" I2 N7 i- B9 |: ?8 T0 J" u
  57. 第六种:利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口. 6 ?0 u7 P3 \4 T: o4 y' f
  58. <script>url="submit.php";window.open(\'url,\'\',\'_self\');</script>
    1 E  R. B% d) j2 b! X( z, l, G0 Y
  59. 其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息 7 l  E- y! u/ f
  60. header("Location: Url");
    6 V* P% E& e0 D$ _7 ~
  61. 0 e) x$ @  n! S
  62. 速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
复制代码
. `- ^' w2 r6 o9 k8 H' X4 B
0 r4 {+ Y5 h6 b1 o! o. Y4 h7 j





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