phpでのCookieのパスの書かれ方
phpの初心者なのですが、Cookieでうまく情報の引き渡しができないので、アドバイス頂けないでしょうか?
test1でCookieを初期設定した後に、Cookieを使ってtest2を呼び出し、
test2上で設定し直した値でCookieを書き変えてtest2を再呼び出ししています。
再呼び出しした時のCookieが読めないので、ブラウザを調べてみると、yyという名前のクッキーが2つ存在しているためだと判りました。値は確かに置き変わっているのですが、パスが違っているので読み出せないようです。
初期設定した時のパスは /tst/ → test1.phpでsetcookieで設定したもの
再設定した時のパスは / → test2.phpの中のJavascriptで設定したもの
になっていました。
▽test1.php (/svr1/tst/)
setcookie("yy",$yy,0,"./");
(略)
header("HTTP/1.1 301 Moved Permanently");
header("Location: test2.php");
▽test2.php
function set_Cookie() {
yy = parseInt(document.f1.ck_yy.value);
document.cookie = "yy=" + yy + "; path=/";
return true;
}
<php?
$yy = $_COOKIE['yy'];
?>
<form name="f1" action="test2.php" method="post">
<input name="yy">
<input type="submit" value="実行" onClick="set_Cookie()">
</form>
setcookie の引数であるパス名を最初は省略していたのですが、/tst/というパスが入ってきてしまうため、パス名をあえて ./としてみたのですが結果は同じでした。
ちなみにtest1の呼び出し元は別のサーバーで以下のように呼びだしています。
▽test0.html (/svr0/wwwroot/)
<a href="http://svr1/tst/test1.php">test1</a>
パス名はどのように決まるのでしょうか?