设为首页 收藏本站
查看: 630|回复: 0

[经验分享] PHP页面3中跳转方法

[复制链接]

尚未签到

发表于 2017-3-28 14:11:04 | 显示全部楼层 |阅读模式
  方法一:使用PHP自带函数
Header("Location: 网址");
说明:必须在网页没有任何输出的时候执行,要特别要注意空格。去空格的方法参照如下第4问
  即,这句话要放在网页开始的时候,放在body里或后面都会出错,

  
方法二:利用meta
echo "<meta http-equiv=refresh content='0; url=网址'>";
说明:没有方法一的限制,但是如果前面有输出,则输出的内容会闪烁一下然后进入跳转到的页面。
  如:
  $post="guoqing.php?id=".urlencode("$id") ."&name=".urlencode($name);
  //加urlencode()函数在 地址栏则不显示$a变量的中文真实内容,用%……%……来表示。
  echo "<meta http-equiv=refresh content='0; url=$post'>"; //页面跳转语句这样可实现页面传值

方法三:利用Javascript语言
echo "<script language='javascript'>";
echo " location='网址
';";
echo "</script>";


  4:为什么我向另一网页传送变量时,只得到前半部分,以空格开头的则全部丢失
CODE:

<?php
$Var
="hello php";
//修改为$Var=" hello php";试试得到什么结果
$post= "receive.php?Name=".$Var
;
header("location:$post"
);
?>

  非常全面的一个php技术网站,php爱好者站 http://www.phpfans.net有相当丰富的文章和源代码.
receive.php的内容:
CODE:

<?PHP
Echo "<pre>"
;
Echo
$_GET["Name"
];
Echo
"</pre>"
;
?>

  非常全面的一个php技术网站,php 爱好者站 http://www.phpfans.net有相当丰富的文章和源代码.
正确的方法是:
CODE:

<?php
$Var
="hello php"
;
$post= "receive.php?Name=".urlencode($Var
);
header("location:$post"
);
?>

  php爱好者站 http://www.phpfans.net为phper提供一切资讯.
在接收页面你不需要使用Urldecode(),变量会自动编码.
  在PHP中用header("location:test.php")进行跳转要注意以下几点:
  1、location和“:”号间不能有空格,否则会出错。
  2、在用header前不能有任何的输出。
  3、header后的PHP代码还会被执行。
  下面是和asp中重定向response.redirect的比较:
  例1:
response.redirect "../test.asp"
header("location:../test.php");
两者区别:
asp的redirect函数可以在向客户发送头文件后起作用.

<html><head></head><body>
<%response.redirect "../test.asp"%>
</body></html>
查是php中下例代码会报错:
<html><head></head><body>
<?
header("location:../test.php");
?>
</body></html>
只能这样:
<?
header("location:../test.php");
?>
<html><head></head><body>...</body></html>
即header函数之前不能向客户发送任何数据.

例2:
asp中
<html><head></head><body>
<%
response.redirect "../a.asp"
response.redirect "../b.asp"
%>
</body></html>
结果是重定向a.asp文件.
php呢?
<?
header("location:../a.php");
header("location:../b.php");
?>
<html><head></head><body></body></html>
我们发现它重定向b.php.
原来在asp中执行redirect后不会再执行后面的代码.
而php在执行header后,继续执行下面的代码.
在这方面上php中的header重定向不如asp中的重定向.有时我们要重定向后,不能执行后面的代码:
一般地我们用
if(...)
header("...");
else
{
...
}
但是我们可以简单的用下面的方法:
if(...)
{ header("...");exit();}
  还要注意的是,如果是用Unicode(UTF-8)编码时也会出现问题,需要调整缓存设置.
  <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%if Request.ServerVariables("SERVER_NAME")="news.sina.com" then
response.redirect "news/index.htm"
else%>
<%end if%>
  <script>
var url = location.href;
if(url.indexOf('http://www.zqpc.net.cn/')!=-1)location.href='/index/index.htm';
if(url.indexOf('http://www.zqtj.net/')!=-1)location.href='/index1/index.htm';
if(url.indexOf('http://www.xxfww.net.cn/')!=-1)location.href='/cn/index.asp';
if(url.indexOf('http://xxfww.net.cn/')!=-1)location.href='/cn/index.asp';
</script>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-356594-1-1.html 上篇帖子: 为什么说PHP是个集中营 下篇帖子: [转]php实现的thrift socket server
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表