2016-11-15 8 views
-1

クライアントがクッキーを受け入れたかどうかを保存するクッキーを保存します。現在、次のコードがあります。 index.phpページでPHP setcookie()が動作していません

/php/cookies.php/php/cookies_accepted.php

<?php 

    setcookie("accepted_cookies","true", time()+60); //Sets the accepted_cookies cookie 
    $redirect = $_GET['redirect']; //Gets the redirection url from the url 

    echo $COOKIE_["accepted_cookies"]; 
    echo "<meta http-equiv=\"refresh\" content=\"2; url=".$redirect."\" />"; //Redirects back to the page where the user came from 

?> 

<?php 

    $redirect = $_GET['redirect']; //Gets the redirection url from the url 
    echo ' 
     <!DOCTYPE html> 
     <html> 
      <a href="cookies_accepted.php?redirect='.$redirect.'">Give me cookies!</a> 
     </html>'; //Put the accept cookies link on the page 

?> 

<?php 
    if($_COOKIE["accepted_cookies"] != "true") { // Checks if cookies have been accepted yet, and redirects to cookie page if not 
     echo "<meta http-equiv=\"refresh\" content=\"1; url=https://website.com/php/cookies.php?redirect=https://website.com/\" />"; 
    } 
?> 

ただし、クッキーを実際に設定されていないとインデックスが/php/cookies.phpにリダイレクトし続けます。私は何が欠けていますか?

P.S. setcookie関数のtime()はテスト目的のための一時的なものです。

+7

** HeHeHe ** _クライアントがクッキーを受け入れるかどうかを保存するクッキーを保存しますか?そのステートメントに嫌われていませんか? – RiggsFolly

+4

'$ COOKIE_ ['ビットはここに入力されているのか、実際のコードにも入力されていますか? – GentlemanMax

+2

他のページにリダイレクトしたい場合は、PHPを使用しています。[header()を使用してください](http://php.net/manual/en/function.header.php) – RiggsFolly

答えて

0

あなたはindex.php

でそれを持っていただけのようにあなたは、私は問題が何であったか考え出したPHPのクッキーhere

+0

私はそれを変更し、' cookies.php'スクリプトの先頭に移動しました。このページにアクセスすると、今すぐエコーします(私はクッキーを受け入れたので、クッキーは私のデバイスに保存されています)が、 'index.php'はまだ私をリダイレクトします。私はいくつかのエラーを起こしました。何らかの理由でクッキーが 'index.php'のために存在しないようです – Czh

0

に関する詳細な情報を見つけることができます$_COOKIE["accepted_cookies"];するファイル/php/cookies_accepted.php$COOKIE_["accepted_cookies"];を変更する必要があります。

クッキーを保存したスクリプトは、サブフォルダにあります。このため、index.phpにアクセスできませんでした。コードをsetcookie("accepted_cookies","true", time()+60), "/")に変更して修正しました。

あなたのお返事ありがとうございます!

関連する問題