我想一个网页在PHP自动重定向
Logout.php:
<?php
include "base.php";
$_SESSION = array(); session_destroy();
?>
<meta http-equiv="refresh" content="=0;URL=index.php" />
凡base.php调用数据库,并启动对话:
<?php
session_start();
$dbhost = "localhost";
$dbname = "login";
$dbuser = "root";
$dbpass = "";
mysql_connect($dbhost, $dbuser, $dbpass) or die("MySQL Error: " . mysql_error());
mysql_select_db($dbname) or die("MySQL Error: " . mysql_error());
?>
当按下注销,我没有得到回index.php
。
这应该工作,你有一个额外的=
前0
:
<meta http-equiv="refresh" content="0;URL=index.php" />
Linky https://en.wikipedia.org/wiki/Meta_refresh
据我所知, HTML
, JavaScript
和PHP
提供了自己的网页/头重定向的方式。 这里有三个例子,说明如何重定向到http://google.com
# JavaScript:
<script type="text/javascript">
window.location = "http://google.com";
</script>
# HTML:
<meta http-equiv="refresh" content="0; URL='http://google.com'"/>
注意在0 content="0;
是秒的值,它告诉浏览器应该在多少秒开始重定向之前等待。
# PHP:
<?php
header('Location: http://www.google.com');
注意一个PHP header()
必须始终放在输出任何内容到浏览器之前; 甚至一个空的空间。 否则,就会造成臭名昭著的“ 头部已经发送 ”错误。
你可以把这个在你的PHP代码:
header('Location:index.php');
需要注意的是按照所有头 ,必须将之前的任何输出(即使是空格)放置。
元刷新语法是稍有不当
<meta http-equiv="refresh" content="0;URL='<?php echo $_SERVER['HTTP_HOST']; ?>/index.php'">
更多详细的http://en.wikipedia.org/wiki/Meta_refresh
清洁方法是发送一个HTTP重定向头
更多详细的http://en.wikipedia.org/wiki/HTTP_301
logout.php
<?php
..
session_destroy();
header( 'HTTP/1.1 301 Moved Permanently');
header( 'Location: ' . $_SERVER['HTTP_HOST'] . '/index.php' );
exit(0);
在重定向关于绝对URI W3C说
14.30位置
位置响应头字段用于收件人重定向到新的资源的请求或标识的完成比Request-URI中的其它的位置。 对于201(创建)的响应,该位置是这是由请求创建新的资源。 对于3xx响应,位置应注明服务器的首选URI为自动重定向到资源。 字段值由一个单一的绝对URI的。
Location = "Location" ":" absoluteURI
一个例子是:
Location: http://www.w3.org/pub/WWW/People.html
来源: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html