在PHP自动重定向页面(Redirecting a page automatically in PH

2019-07-17 13:31发布

我想一个网页在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

Answer 1:

这应该工作,你有一个额外的=0

<meta http-equiv="refresh" content="0;URL=index.php" />

Linky https://en.wikipedia.org/wiki/Meta_refresh



Answer 2:

据我所知, HTMLJavaScriptPHP提供了自己的网页/头重定向的方式。 这里有三个例子,说明如何重定向到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()必须始终放在输出任何内容到浏览器之前; 甚至一个空的空间。 否则,就会造成臭名昭著的“ 头部已经发送 ”错误。



Answer 3:

你可以把这个在你的PHP代码:

header('Location:index.php');

需要注意的是按照所有头 ,必须将之前的任何输出(即使是空格)放置。



Answer 4:

元刷新语法是稍有不当

<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



文章来源: Redirecting a page automatically in PHP
标签: php html http