请解释为什么我无法设置“Pistol”的会话变量或 $_SESSION['reported'],但它适用于“Rifle”
发布数据的表格
<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']