0

プロジェクトにCookie値を使用して、入力された訪問者を確認します。まず、送信投稿フォームが存在してメールアドレスを入力します。送信後、Cookieが設定されます(現在のページへの次のナビゲーションでは、自宅に直接入力する必要があります) Cookieが設定されている場合、ページはフォームページに移動しません)、すべてが正常に実行され、Cookieは適切に設定されますが、別のページに移動するとデータが失われ、Cookieは存在しません!!! クッキーはすべてのページのナビゲーションで有効である必要がありますか?下の図はいくつかのコードです...

if((!$_COOKIE["tickets"] && $_COOKIE["email_address"]) || (empty($_COOKIE['tickets']) && empty($_COOKIE['email_address']))){
$access_vcount=intval(getCurrentValueAccess())+1;
if(getCurrentValueAccess()==0){$query_vcounts=mysql_query("insert into visitors_counter(counter) VALUES('$access_vcount')");}
else{$query_vcounts=mysql_query("update `visitors_counter` set counter='".$access_vcount."'");}
setcookie("tickets", "accessible", time()+86400);
setcookie("email_address", $email_address, time()+86400);
}
header("Location:".BURL."/".getflink(2,'en'));  

クッキーは1日有効です(そうあるべきです)。値を別のページのCookieで印刷しようとすると、結果が得られません。

ご提案ありがとうございます。

4

2 に答える 2

0

構文では

bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

Cookieはその下のパスとディレクトリに対してのみ有効であるため、パスは正しく設定する必要があります。

ドキュメントから、

Cookieを利用できるサーバー上のパス。'/'に設定すると、Cookieはドメイン全体で使用できるようになります。'/ foo /'に設定すると、Cookieは/foo/ディレクトリおよびドメインの/foo/bar/などのすべてのサブディレクトリ内でのみ使用可能になります。デフォルト値は、Cookieが設定されている現在のディレクトリです。

于 2012-07-25T07:53:29.770 に答える
0

リダイレクトするページにCookieを設定する場合、header('Location:....');の呼び出し後にCookieを設定する必要があります。

そのような:

<?php
  header('Location: http://www.example.com/'); 
  setcookie('asite', $site, time()+60*60, '/', 'site.com');  ?>

http://de3.php.net/manual/en/function.setcookie.phpのコメントから貼り付けました

于 2012-07-25T08:06:58.837 に答える