<?php

echo "ばなな";
echo '<form action="*****" method="*****">';
echo '<input type="hi**en" name="bnn" value="0">';
echo '<input type="submit" value="カートに入れる">';
echo '</form>';
?>
買い物カゴ
<?php
$a = array('ばなな','りんご','魚');
$s = $_POST['bnn'];
$k = $a[$s];
$_SESSION['ss'] = $k;
echo $_SESSION['ss'];
echo '<a href="ss.php">次へ</a>';
?>


上記でセッションしているはずなのに、違うページを経由してカートページに行くと何故か値が消えてます。どなたか問題点を御教授いただけないでしょうか。。。

回答の条件
  • 1人10回まで
  • 登録:
  • 終了:2012/02/02 13:00:06

回答1件)

id:uwao No.1

回答回数180ベストアンサー獲得回数39

違うページを経由している事が原因と思います。
<FORM>→PHP
なら直接送信されるので、FORMのデータをPHPが受信出来ますが、
<FORM>→AAAA→PHP
のような場合、FORMのデータはAAAAに送信されますので、AAAAがデータを受け取り、PHPに送信しなければPHPは受信出来ません。

id:uwao

$_SESSION["セッション"]やクッキーを使うと良いかもしれません。

2012/02/01 17:12:18
  • id:tdoi
    途中遷移するページでも全てセッションの内容をダンプして置いて、どこで消えたか確認してみては?

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません