お世話になります。昨日からCOOKIEの取り扱いについて試行錯誤を繰り返していますが(今日も一日中自宅にこもりPCの前にずっといた)、疑問ばかりが残り、アドバイスいただければと質問いたします。
昨日、同じくCOOKIEのことで質問したのですが、
https://teratail.com/questions/145593
現状、改めて説明させていただくと、下記のようなスクリプトをウェブページに設置し、アクセス履歴をクッキーに保存し、訪問履歴として後から確認出来ればと考えています。
<?php //$DataNo はページを表すパラメータであり、 "1-2" といった文字列が代入されている。 //■見た詳細ページをクッキーに■ if(isset($_COOKIE["watch"])){ $watch_data = $_COOKIE["watch"]; $watch_array = explode(" ", $watch_data); $key = array_search($DataNo, $watch_array); if(is_numeric($key)){ array_splice($watch_array, $key, 1); } if(count($watch_array) >= 20){ //20ページ以上は保存せず、古いデータから削除 array_splice($watch_array, 0, 1); } $watch_array[] = $DataNo; $watch_data = implode(" ", $watch_array); } else{ $watch_data = $DataNo; } setcookie("watch", $watch_data, time() + 60*60*24*30); ?>
これを朝から同じ内容のファイル(パラメータの部分だけ変更して)を複数用意し、を
http://***.com/AAA/cookieset1.php
http://***.com/AAA/cookieset2.php
http://***.com/AAA/cookieset3.php
http://***.com/AAA/cookieset4.php
のように設置し、また以下のスクリプトをcookie_delete.phpとして、
<?php session_start(); setcookie("watch", '', time() - 1800); ?>
保存されたクッキーを消しては削除を行い、正常に機能しているか確認をしています。
しかし、上記のように同じディレクトリ内に各ファイルがある場合は正常に機能していることを確認しているものの、同じファイルでも、以下のようにディレクトリが違うと違うディレクトリで操作(アクセス)したクッキーは繁栄していないことに気が付きました。
http://***.com/AAA/cookieset1.php
http://***.com/AAA/cookieset2.php
http://***.com/AAA/cookieset3.php
http://***.com/AAA/cookieset4.php
http://***.com/AAA/cookie_view.php
http://***.com/AAA/cookie_delete.php
というセットの他、この構成、同じ内容のファイル群を
http://***.com/BBB/CCC/cookieset1.php
http://***.com/BBB/CCC/cookieset2.php
http://***.com/BBB/CCC/cookieset3.php
http://***.com/BBB/CCC/cookieset4.php
http://***.com/BBB/CCC/cookie_view.php
http://***.com/BBB/CCC/cookie_delete.php
と設置し動作を確認していますが、AAAディレクトリ内でセットされたクッキーは、BBB/CCC/内では削除できないといった現象が起きています。
各ディレクトリ内にあるcookie_view.phpは以下のような簡単なものです。
<?php if(isset($_COOKIE["watch"])){ $cookie = $_COOKIE["watch"]; echo "cookie:".$cookie; } ?>
以上のような状況ですが、これまで同じドメイン(サイト)内であれば設置場所は問われることなく動作すると考えていたのですが、今回ディレクトリが違うことで動きが異なる状況が起きています。
/AAA/cookie_delete.php
で削除したはずのクッキーが
/BBB/CCC/cookie_view.php
では残っているなど、です。
お恥ずかしい話、本日朝からずっと試行錯誤を繰り返しているため、解決に向けアドバイスを頂ければと考え投稿いたしました。
お忙しい中恐縮でうすが、アドバイスのほどお願い出来れば幸いです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/10 15:52