10

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

4

5 に答える 5

31

私の知る限り、、、HTMLおよびJavaScript独自PHPのページ/ヘッダーリダイレクトの方法を提供します。にリダイレクトする方法を示す3つの例を次に示します。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'"/> 

Noteの0はcontent="0;、秒の値です。リダイレクトを開始する前に何秒待つ必要があるかをブラウザに通知します。

PHP:

<?php

header('Location: http://www.google.com');

NotePHPは、ブラウザに何かを出力する前に常にheader()配置する必要があります。単一の空きスペースですら。そうしないと、悪名高い「ヘッダーがすでに送信された」エラーが発生します。

于 2012-12-25T14:46:24.653 に答える
17

=これは機能するはずです。前に余分なものがありました0

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

リンクhttps://en.wikipedia.org/wiki/Meta_refresh

于 2012-12-25T14:42:10.830 に答える
7

これを PHP コードに入れることができます。

header('Location:index.php');

すべてのheadersに従って、これは出力の前に配置する必要があることに注意してください (空白も含む)。

于 2012-12-25T14:42:59.207 に答える
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 場所

Location 応答ヘッダー フィールドは、要求の完了または新しいリソースの識別のために、受信者を Request-URI 以外の場所にリダイレクトするために使用されます。201 (Created) 応答の場合、Location はリクエストによって作成された新しいリソースの場所です。3xx 応答の場合、場所は、リソースへの自動リダイレクト用のサーバーの優先 URI を示す必要があります。フィールド値は、単一の絶対 URI で構成されます。

   Location       = "Location" ":" absoluteURI

例は次のとおりです。

   Location: http://www.w3.org/pub/WWW/People.html

ソース: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

于 2012-12-25T14:53:03.323 に答える