利用php的header()函数,可以实现页面跳转,如
随着电子商务模式更加多样化,企业和个人的迫切需求,PHPShops多用户商城系统正可以为其提供专业的电子商务解决方案。社区化电子商务,主要面向行业类和地方门户类站点。 PHPShops多用户商城系统(简称PHPShops)是基于电子商务的一套平台交易系统,它采用目前最流行网站建设工具PHP+MYSQL,实现模版分离技术,通过HTML交互式网页技术来实行客户端与服务器端的交流。无论在
0
1 |
header("Location: ". $url);
|
但它有个缺点,一旦HTTP报头块已经发送,就不能使用 header() 函数,来发送其它的标头。
这个时候只能利用前端HTML或JS技术来实现页面跳转了!
怎样知道HTTP报头块已经发送了呢?
立即学习“PHP免费学习笔记(深入)”;
PHP的 headers_sent() 函数,可以帮忙。
PHP headers_sent() 函数
headers_sent() 函数检查 HTTP 标头是否已被发送以及在哪里被发送。
如果报头已发送,则返回 true,否则返回 false。
语法
headers_sent(file,line)
| 参数 | 描述 |
|---|---|
| file,line | 可选。 如果设置 file 和 line 参数,headers_sent() 会把输出开始的 PHP 源文件名和行号存入 file 和 line 变量中。 |
提示和注释
注释:一旦报头块已经发送,就不能使用 header() 函数 来发送其它的标头。使用此函数至少可以避免与 HTTP 标头有关的错误信息。
注释:可选的 file 和 line 参数是 PHP 4.3 中新加的。
例子1
1 |
<?php |
2 |
// 如果报头未发送,则发送一个 |
3 |
if(!headers_sent()) {
|
4 |
header("Location: http://www.w3school.com.cn/");
|
5 |
exit;
|
6 |
} |
7 |
?> |
例子2
使用可选的 file 和 line 参数:
01 |
<?php |
02 |
// 传递 $file 和 $line,供日后使用 |
03 |
// 不要预先为它们赋值 |
04 |
if(!headers_sent($file,
$line)) {
|
05 |
header("Location: http://www.w3school.com.cn/");
|
06 |
exit;
|
07 |
// Trigger an error here
|
08 |
} else{
|
09 |
echo"Headers sent in $file on line $line";
|
10 |
exit;
|
11 |
} |
12 |
?> |
根据上面的知识点,我们可以整理出自己的PHP跳转函数:
01 |
/** |
02 |
* URL跳转
|
03 |
* @param string $url 跳转地址
|
04 |
* @param int $time 跳转延时(单位:秒)
|
05 |
* @param string $msg 提示语
|
06 |
*/
|
07 |
functionredirect($url,
$time= 0, $msg= '') {
|
08 |
$url= str_replace(array("\n",
"\r"), '',
$url); // 多行URL地址支持
|
09 |
if(empty($msg)) {
|
10 |
$msg= "系统将在 {$time}秒 之后自动跳转到 {$url} !";
|
11 |
}
|
12 |
if(headers_sent()) {
|
13 |
$str= "<meta http-equiv="Refresh" c>
<code>;
|
14 |
if($time!= 0) {
|
15 |
$str.= $msg;
|
16 |
}
|
17 |
exit($str);
|
18 |
} else{
|
19 |
if(0 === $time) {
|
20 |
header("Location: ". $url);
|
21 |
} else{
|
22 |
header("Content-type: text/html; charset=utf-8");
|
23 |
header("refresh:{$time};url={$url}");
|
24 |
echo($msg);
|
25 |
}
|
26 |
exit();
|
27 |
}
|
28 |
} |
以上就介绍了php重定向网页,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号