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

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

作者: admin    时间: 2015-11-24 01:31
标题: PHP 页面跳转到另一个页面的多种方法方法总结
  1. 一、用HTTP头信息
    , w- `2 w4 L7 q
  2. 也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。 ' r" w) k5 R) E
  3. 用HTTP头信息重定向到另外一个页面的方法如下:) s% {! F' t0 P" u

  4. $ [& F* v6 g2 \7 Y; ]- m& `3 l
  5. 复制代码 代码如下:
    9 |( [+ z4 j0 s8 p

  6.   B) n" F# i& t9 e0 {0 }5 B, K
  7. : p) R2 `; [  M! Q$ A
  8. <?
      \  k9 k1 [. `7 t
  9. if (isset($url)) 1 E' T5 @/ k" u- [1 y  s7 s4 ]; H
  10. { 5 R4 f5 U- Q- K4 k. [
  11. Header("HTTP/1.1 303 See Other");
    7 i- E: A) z- }% j
  12. Header("Location: $url"); ) B& r; Y5 `* v; t& r
  13. exit; //from www.w3sky.com
    ( z+ L' J7 _3 Y1 r3 f, f
  14. } - c- \$ N. z9 H( F) B4 `
  15. ?> " h# A# d5 Z' K& S' C5 o
  16. 4 Q5 H" v0 Z# w3 N! p# _3 w/ C! h

  17. ' L1 Q- H. f& b
  18. 注意一下,"Localtion:"后面有一个空格。 3 E- O' M" r! w# P1 Y
  19. 二、用HTML标记 . V8 }& ]  m4 u% }1 ]6 j
  20. 用HTML标记,就是用META的REFRESH标记,举例如下:
    ) w* ?9 U7 b6 D3 j
  21. 0 X/ [# U$ s. e5 V
  22. 复制代码 代码如下:
    : _4 w4 X2 d, Y8 Q
  23.   o6 @' l% d9 P+ g$ I

  24.   u9 U* n: P% r5 s. a/ M# U0 P0 `
  25. <? if (!isset($url)) exit;?>
    $ c, m$ k) E& N+ U% U$ E" f- F( ?
  26. <HTML>
    7 R8 v: E% s: o
  27. <HEAD> & {+ q2 y( }: b, t( M( `, e+ W
  28. <META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
    - S9 i' ^' L4 _4 ^0 ?% M! |/ O
  29. </HEAD> 3 D( @' H: L. c8 x3 P+ ~: }
  30. <BODY>
    + Q( T9 o  U0 k" a  X
  31. </BODY> 0 U& K4 j- ^1 }+ t$ r$ H
  32. </HTML> % O! V' W% @+ K$ D/ a/ @$ V

  33. * T( r% N3 n4 i  c% E4 C
  34. 3 X5 A. ^: G4 a% i
  35. 三、用脚本来实现
    7 z. c2 z. A$ H, w
  36. 举例如下:7 k( f# N; q' Z

  37. * }) Y) ~/ C$ ?* ~8 m
  38. 复制代码 代码如下:$ {- H$ y' h8 h+ ]
  39. / W, C" o5 I6 p4 \/ G& p

  40. ! W. i9 Q' r3 B  P7 k# `! r5 p0 D
  41. <?
    % O3 b. w; {/ A5 j# E$ j6 [
  42. $url="http://www.jb51.net";
    . F* D7 w* c2 u9 S. q, V8 F; @
  43. echo "<!--<scrīpt LANGUAGE="Javascrīpt">";
      |; L; t$ o5 I$ W9 F
  44. echo "location.href='$url'";
    9 K9 X" i- y% v& z; ~. J% H
  45. echo "</scrīpt>-->"; ; Z* j/ n/ @" l1 }' b' K
  46. ?>/ j: a: @2 q, m' b( Y' L

  47. 3 e1 Q' O2 x- k  U3 K0 W7 \! j

  48. 5 t( V3 m* @7 C, Z% j7 G5 u% Q
  49. 下面是补充) G' M: ^+ J6 e( }! X
  50. 第四种:
    0 T- M8 s' K  o
  51. echo "< meta http-equiv=\"Refresh\" content=\"秒数; url=跳转的文件或地址\" > ";
    6 B4 f  P3 U2 M  g" @
  52. 其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面. 3 c. W3 c* L  W$ e  e- l7 f

  53. & X% L2 f. k8 {6 F% v1 a  {
  54. 第五种:利用script实现 # P; i& H. p; T" S! e4 ]
  55. <script>url="submit.php";window.location.href=url;</script>
    # o, n/ S  V# c; n4 N* S

  56. ; [) _0 B3 l6 m7 q3 [
  57. 第六种:利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口.   l7 G( W- L$ S, y' @
  58. <script>url="submit.php";window.open(\'url,\'\',\'_self\');</script> & T. h  D8 z  d1 N$ z' g: B% g, L7 }2 i
  59. 其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息   \6 [% e; e2 U, q7 X
  60. header("Location: Url");
    + L* g* E  j6 ^

  61. 8 T* z2 J6 i/ x
  62. 速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
复制代码

. g, g, W. J6 C9 ?0 o* E! _; C
6 }, W8 _- y- }) R% K




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