PHP页面 首先要是在服务器里运行,即不能像Html页面一样直接双击查看,而是要在浏览器里输入相关地址才能访问; 其次,PHP代码被执行的文件,必须是以.php结尾,不能是在.html结尾; 再次,PHP代码有起始标签 <?php ?>标签不能少,少了它就当Html代码认了
Web系统中,从一个网页跳转到另一个网页,是LAMP项目中最常用的技术之一。页面跳转可能是由于用户单击链接、按钮等引发的,也可能是系统自动产生的。 此处介绍PHP中常用的实现页面自动跳转的方法。PHP页面跳转一、header()函数
header()函数是PHP中进行页面跳转的一种十分简单的方法。header()函数的主要功能是将HTTP协议标头(header)输出到浏览器。
header()函数的定义如下:
void header (string string [,bool replace [,int http_response_code]])
可选参数replace指明是替换前一条类似标头还是添加一条相同类型的标头,默认为替换。
第二个可选参数http_response_code强制将HTTP相应代码设为指定值。 header函数中Location类型的标头是一种特殊的header调用,常用来实现页面跳转。注意:1.location和“:”号间不能有空格,否则不会跳转。
2.在用header前不能有任何的输出。
3.header后的PHP代码还会被执行。
PHP页面跳转二、Meta标签
Meta标签是HTML中负责提供文档元信息的标签,在PHP程序中使用该标签,也可以实现页面跳转。 若定义http-equiv为refresh,则打开该页面时将根据content规定的值在一定时间内跳转到相应页面。
若设置content="秒数url=网址",则定义了经过多长时间后页面跳转到指定的网址。
PHP页面跳转三、JavaScript
可以用以下方法1) html的实现
<head>
<!-- 以下方式只是刷新不跳转到其他页面 -->
<meta http-equiv="refresh" content="10">
<!-- 以下方式定时转到其他页面 -->
<meta http-equiv="refresh" content="5url=hello.html">
</head>
优点:简单
缺点:Struts Tiles中无法使用
2) javascript的实现
<script language="javascript" type="text/javascript">
// 以下方式直接跳转
window.location.href='hello.html'
// 以下方式定时跳转
setTimeout("javascript:location.href='hello.html'", 5000)
</script>
优点:灵活,可以结合更多的其他功能
缺点:受到不同浏览器的影响
3) 结合了倒数的javascript实现(IE)
<span id="totalSecond">5</span>
<script language="javascript" type="text/javascript">
var second = totalSecond.innerText
setInterval("redirect()", 1000)
function redirect(){
totalSecond.innerText=--second
if(second<0) location.href='hello.html'
}
</script>
优点:更人性化
缺点:firefox不支持(firefox不支持span、div等的innerText属性)
3') 结合了倒数的javascript实现(firefox)
<script language="javascript" type="text/javascript">
var second = document.getElementById('totalSecond').textContent
setInterval("redirect()", 1000)
function redirect()
{
document.getElementById('totalSecond').textContent = --second
if (second <0) location.href = 'hello.html'
}
</script>
4) 解决Firefox不支持innerText的问题
<span id="totalSecond">5</span>
<script language="javascript" type="text/javascript">
if(navigator.appName.indexOf("Explorer") >-1){
document.getElementById('totalSecond').innerText = "my text innerText"
} else{
document.getElementById('totalSecond').textContent = "my text textContent"
}
</script>
5) 整合3)和3')
<span id="totalSecond">5</span>
<script language="javascript" type="text/javascript">
var second = document.getElementById('totalSecond').textContent
if (navigator.appName.indexOf("Explorer") >-1) {
second = document.getElementById('totalSecond').innerText
} else {
second = document.getElementById('totalSecond').textContent
}
setInterval("redirect()", 1000)
function redirect() {
if (second <0) {
location.href = 'hello.html'
} else {
if (navigator.appName.indexOf("Explorer") >-1) {
document.getElementById('totalSecond').innerText = second--
} else {
document.getElementById('totalSecond').textContent = second--
}
}
}
</script>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)