1

問題は次のように聞こえます。セッションを使用したログインはローカルホストで完璧に機能しますが、まったく同じファイルがホスト (hostgator) にアップロードされると、セッションが失敗するか、混乱します。また、ログアウト機能はホストでは機能しません。

チェックしたところ、すべてのページに session_start(); があります。その中。

logout.php が次のようになっていても、セッションは破棄されません。

<?php
session_start(); 
$_SESSION = array();
session_unset();
session_destroy();
header("location:index.php");
exit();
?>

助言がありますか?

4

1 に答える 1

2

Firebug を使用している Firefox で、ページがすべてキャッシュされていることに気付きました。セッションは正常に機能していますが、ページがキャッシュされているため、ログインとログアウトがかなり (めちゃくちゃ) になります。

動的ページの HTTP キャッシュを無効にします。

Firebug の出力を参照してください。

応答ヘッダー

HTTP/1.1 304 Not Modified
Date: Thu, 14 Oct 2010 13:16:50 GMT
Server: Apache mod_fcgid/2.3.5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635
Connection: Keep-Alive
Keep-Alive: timeout=5, max=100
Expires: Thu, 14 Oct 2010 16:16:50 GMT
Cache-Control: public, max-age=10800

リクエスト ヘッダー

GET / HTTP/1.1
Host: www.piataterenuri.info
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Cookie: PHPSESSID=55aea3f792334052dc673f85feb0b54a
If-Modified-Since: Wed, 13 Oct 2010 13:47:53 GMT
Cache-Control: max-age=0

PHP マニュアルには、キャッシュを無効にする方法の例が既にあります。

http://php.net/manual/en/function.header.php

<?php

header("Cache-Control: no-cache, must-revalidate"); 
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past

?>
于 2010-10-14T13:19:07.193 に答える