【发布时间】:2021-08-08 11:46:37
【问题描述】:
我创建了一个使用 PHP 中的 cookie 工作的表单。这就是表格的样子。
当我输入价格和数量的值时,我希望它们相乘并将结果显示在“总账单价值”文本框中。每次我输入价格和数量的值时,我都希望它们相加,这就是我使用 cookie 的原因。这是我的代码。
<html>
<head></head>
<body>
<?php
if($_SERVER["REQUEST_METHOD"] == "POST")
{
$result=0;
if(isset($_POST["btnReset"]))
{
setcookie("result", $result);
}
elseif(isset($_POST["btnClick"]))
{
if(isset($_COOKIE["result"]))
{
$result=$_COOKIE["result"];
}
$result= $result + $_POST["Price"]*$_POST["Quantity"];
setcookie("result", $result);
}
else
{
if(isset($_COOKIE["result"]))
{
echo "something";
}
}
}
?>
<?php
if (isset($result)) {
$bill = $result;
} else {
$bill = '';
}
?>
<form method="POST" >
<ul style="list-style-type:none;">
<li>
Product Name: <input type="text" name="ProductName"> <br>
Price: <input type="number" name="Price" value="price"> <br>
Quantity: <input type="number" name="Quantity" value="qty"><br>
<input type="submit" name="btnClick" value="Add">
<input type="submit" name="btnReset" value="Clear">
<input type="submit" name="btnPrint" value="Print"><br>
Total Bill Value: <input type="text" name="Bill" value="<?php echo $bill; ?>">
</li>
</ul>
</form>
</body>
</html>
第 21 行是这样的
$result= $result + $_POST["Price"]*$_POST["Quantity"];
有人知道我为什么会收到这个错误吗??
另一件事是,当我输入产品名称、价格和数量并获得总账单价值并对许多产品执行此操作并点击“打印”按钮时,我希望所有产品及其总账单价值打印出来。我该怎么做?
非常感谢任何帮助。提前致谢!
这就是我得到的
【问题讨论】:
-
在上面的 21 行中,执行
var_dump($result);以检查它在该点实际包含的内容。该错误表明它是一个数组(您不能在这样的计算中使用它) -
是的,它给了我一个数组,但我不明白为什么?我没有将 $result 定义为数组:/
-
数组包含什么?你能用输出更新你的问题吗?您是否也在其他地方设置了相同的 cookie?
-
好的,我更新了。否:/我在问题中包含的代码是完整代码。实际上它工作正常,我正在尝试将 cookie 放入数组和其他东西中,但后来我删除了所有这些代码,现在当我运行我拥有的原始代码时(就是这个)它不起作用。 (我希望我说的很清楚:E)
标签: php forms cookies typeerror setcookie