0

「ピストル」または $_SESSION['reported'] のセッション変数を取得できない理由を説明してください。ただし、「ライフル」では正常に機能します。

データを投稿するフォーム

<form name="<?=$prodadd?>" id="<?=$prodadd?>" method="post" action="process.php">
<input type="hidden" name="formid" value="addtocart" />
<!-- other input fields here -->
<input type="hidden" name="type" value="<?=$row['Type']?>" />
<input type="hidden" name="weight" value="<?=$row['Weight']?>" />
<!-- other input fields here --> 
</form>

セッション変数を設定するための process.php の簡単なチェック:

if (strpos($_POST[type],"Pistol")) {
session_start();
$_SESSION['pwght'] = $_SESSION['pwght'] + $_POST['weight'];
session_write_close();}

else if (strpos($_POST[type],"Rifle")) {
session_start();
$_SESSION['rwght'] = $_SESSION['rwght'] + $_POST['weight'];
session_write_close();}

$_SESSION['reported'] = $_POST['weight'];

私がやったことと試したこと:

ライフル アイテムとピストル アイテムの両方がフォームから送信された後、データベースを調べました。通常の製品の違い以外は同じです。どちらの場合も、データがデータベースに書き込まれており、空白または欠落していないことを確認しました。if/else if が同じ結果で実行される順序を変更しました。セッション名を変更しましたが、問題はありませんでした。私が何をしても、 $_SESSION['pwght'] または $_SESSION['reported'] を設定することはできません

4

1 に答える 1