みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

【PHP】 クッキーについてです。

少し省略してます。

aaa.php ページ内の文字リンクを、たとえば「りんご」をクッリクしたら
<a href="bbb.php?no=1"target="main">りんご</a>
<a href="bbb.php?no=2"target="main">みかん</a>
<a href="bbb.php?no=3"target="main">ぶどう</a>

bbb.php に no=1 で 「1」の数字を送り

そして、bbb.php で・・・
$no=htmlentities($_GET["no"]);
setcookie('abc',$no,time()+86400);
$abc=$_COOKIE["abc"];
header("Location:http://○○○/ccc.php")
処理後、ccc.php に行くようにして

ccc.php で・・・
$no = htmlentities($_GET["no"]);
print '$noです';
としてるのですが、クッリクしてから、すぐに今度は「みかん」をクリックすると
2~3秒 間を空けないと、表示は「りんごです」のままなんです。

「りんご」をクリックしてから、2~3秒 間を空けてから「みかん」をクリックすると
表示は「みかんです」となるのです。

クッキーの処理が遅いのでしょうか?
どうしたら、立て続けにクリックしても、ちゃんと表示される様になるのでしょうか?

理想は「りんご」クリック後、2~3秒 間を空けなくても、すぐに「みかん」クリックで
「みかんです」と表示されるようにしたいのです。

ちなみに、実行はエラーはでません。

できれば、私はPHPの経験が浅いので、分かりやすく詳しく教えて頂けると非常に助かります。
中途半端な知識で対応できず苦しんでおります。
何方か、どうか、教えて下さい。 宜しくお願いします。

投稿日時 - 2011-04-03 03:19:54

QNo.6640540

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

コードを省略しているようでよく見えないのですが

setcookie('abc',$no,time()+86400);
$abc=$_COOKIE["abc"];
即時値使うなら、$_COOKIEではなく$noを使う。

header("Location:http://○○○/ccc.php");
$no = htmlentities($_GET["no"]);
こっちはクッキー取得ではなくて?

投稿日時 - 2011-04-03 20:12:11

補足

返答が遅くなってしまいすみません。

>即時値使うなら
フレームで違うページにも、クッキーで保存した内容を利用したいので
$abc=$_COOKIE["abc"]; としています。
即時値を使うと、フレーム先の他のページでは変数をリンクか何かで
渡さないとダメですよね?

>クッキー取得ではなくて?
記入ミスです。値は ["abc"] では無く ["no"] です。
そこもクッキー取得です。

記入ミスと説明不足を合わせて、すみません。
私のイメージを伝えるのが難しくて。(汗)

追伸
付け加えると、フレームを使用しています。
クッキーのタイムラグなんでしょうか?
それとも、header の間にクリックすると、クッキーの処理が遅くなるのでしょうか?

立て続けにクリックしても、クッキーで覚えさせた値をサクサクと表示するのは無理なんでしょうか?

投稿日時 - 2011-04-07 00:04:28

あなたにオススメの質問