[PHP] PHP 页面跳转到另一个页面的多种方法方法总结

[复制链接]
admin 发表于 2015-11-24 01:31:07 | 显示全部楼层 |阅读模式

登录后,购买下载资源更方便!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
  1. 一、用HTTP头信息 ; ~# b! K0 T! R0 E
  2. 也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。 # \* o) f- f8 W0 a5 O) ?2 k& I( K
  3. 用HTTP头信息重定向到另外一个页面的方法如下:
    ! T( `3 s& h, R6 |
  4. , W" Y" c' R2 M: R! `" d1 [
  5. 复制代码 代码如下:
    ) g/ |% l6 g$ }4 w( x

  6. . l2 N5 G9 M, V" I3 c5 i' k, J

  7. ; d* g7 N0 l, V9 ~, l1 c1 u
  8. <? - q% f7 a+ m; n* \1 o
  9. if (isset($url))
    6 X& L8 i: _4 u$ D/ K6 f! W
  10. { 5 y* R/ g2 C6 e: u" ~; H$ u& ~! Z
  11. Header("HTTP/1.1 303 See Other");
    7 l" i5 d. @) a  ~7 X
  12. Header("Location: $url"); 1 s6 a5 t. h# P* ^
  13. exit; //from www.w3sky.com
    ' P: [4 z6 E1 i
  14. } ; R0 ~6 s; {) ]3 Z( @; n6 M% N
  15. ?> 7 P/ z3 N7 h2 A; |

  16. # W9 u$ k7 a9 U8 b0 V

  17. - _+ g8 t& A# h4 y6 v
  18. 注意一下,"Localtion:"后面有一个空格。 - v$ Y1 x$ d$ T$ P: g, Q6 b7 q" v
  19. 二、用HTML标记 2 F$ a' B2 H( _: z; b' t( q' J
  20. 用HTML标记,就是用META的REFRESH标记,举例如下:
    * I7 F* d$ }1 l$ v% a
  21. ) z& Z9 j( p' o( n9 l! ~/ \
  22. 复制代码 代码如下:  h; y8 \' f8 Q

  23. , d$ S/ r2 W# D- X. ?# k

  24. . P6 ~2 H3 {. u9 ~) o, {1 e
  25. <? if (!isset($url)) exit;?>
    7 n& K% r8 c6 T. u) w) R$ u! t+ F
  26. <HTML>
    # L: L8 b  t6 R4 o% I; B% v
  27. <HEAD>
    7 b9 M& L+ x5 r; o) e& g
  28. <META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
    " ^1 G) g* i+ G4 ?
  29. </HEAD>
    9 ]  x  ~$ {' c+ m0 a
  30. <BODY>
    0 |+ H, D" X6 d& U6 V
  31. </BODY>
    : k0 Q% L3 m9 H! b
  32. </HTML>
    8 f! \- i! Q# v. f& T8 r% |4 ^3 h
  33. - L0 W( }. ?! W# i
  34. 8 W" @+ J4 ^0 u: O+ E
  35. 三、用脚本来实现 3 ]1 U0 ]' T- k, @
  36. 举例如下:) K& Q( j8 w- J8 z" M0 K2 _6 j: A
  37. , Z' C0 c% s* d& T; @! F, E
  38. 复制代码 代码如下:) ~3 Y: L$ X& ^6 ]9 q

  39. 6 {$ V' z7 q) {4 S3 ]0 J) G! v
  40. * e# y7 r& b# M9 l$ @
  41. <?
    3 z! W3 E$ W; h4 v8 T
  42. $url="http://www.jb51.net";
    ) f3 ?+ f% {. ?3 K* Z5 y( _
  43. echo "<!--<scrīpt LANGUAGE="Javascrīpt">";
    ; g+ X, y# h) K4 a$ e1 l3 ?( ]6 G9 d
  44. echo "location.href='$url'";
    ! ?6 ?: i# {- w# w; ]# M
  45. echo "</scrīpt>-->";
    , E3 ^% T, U9 v
  46. ?>" A3 T" X( I1 u% F5 r
  47. 7 ^. h1 M/ X) I) f4 N3 l) h7 O

  48. 4 u2 D" c& \0 H; @& ]5 ^$ z) R
  49. 下面是补充4 S, \4 v  R( \8 \
  50. 第四种: ; D- k. q6 }  d& g- e& A
  51. echo "< meta http-equiv=\"Refresh\" content=\"秒数; url=跳转的文件或地址\" > "; % o8 r. Y9 i% H, `; o- u. }
  52. 其中:XX是秒数,0为立即跳转.refresh 是刷新的意思.Url 是要跳转到的页面. * W+ B. {; g7 K( y) A6 M$ k' x. _

  53. 8 q- @+ C' V# X1 B" _
  54. 第五种:利用script实现
      T; i+ O2 |, {
  55. <script>url="submit.php";window.location.href=url;</script>
    5 j4 M: O4 i( ~- ?3 b& d7 D
  56. 3 H% I& i5 ^; I  P$ w
  57. 第六种:利用script实现,所不同的是使用 open 语句.且可以限制原窗口还是父窗口,子窗口或者新窗口.
    4 h4 b+ E0 y' }! e
  58. <script>url="submit.php";window.open(\'url,\'\',\'_self\');</script> 9 W7 ]; R0 c. {) N6 V" z) @
  59. 其中 更改\'_self\' 就可以实现跳转限制原窗口还是父窗口,子窗口或者新窗口.第七种:利用php自带函数发送头部信息
    . y4 r9 R# l% d1 S) l
  60. header("Location: Url"); 4 }3 z8 ]* D# P: C

  61. 3 I7 t) F' j8 U: S0 I, l
  62. 速度最快,功能强大...但是有个问题必须指出:如果在使用这个函数前已经有html输出,哪怕是一个空格.那么在页顶会显示错误信息..
复制代码

- L: C# m/ y' F* o% P2 \1 k! g
- T0 |, f6 U  V( O8 Y
评论0

手机版|小黑屋|源码模版|全球支付|VISA信用卡|MASTER信用卡|科恒数字网

GMT+8, 2025-4-30 14:12 , Processed in 0.164586 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.