如何将php值发送回html表单?

noj0wjuj  于 2021-10-10  发布在  Java
关注(0)|答案(2)|浏览(536)

我一直在尝试使用php cookies构建一个程序。用户界面基本上是这样的。我的基本程序
逻辑是这样的。当用户输入产品名称、价格和数量并单击“添加”按钮时,价格*数量的总值将显示在“账单总值”文本框中。用户可以继续为“价格”和“数量”添加越来越多的值,每次单击“添加”,所有值都会被添加。所以这应该通过使用cookies来完成。“清除”按钮将重置cookie,“打印”按钮也将使用相同的cookie打印出用户在该点之前输入的所有内容。
不管怎样,我刚开始编码,我已经被卡住了。我不确定我的错误是什么。当我点击“添加”按钮时,不会在每次输入价格和数量时都添加该值。相反,页面将刷新,只显示一次输入的价格和数量的产品。这是我的密码。
`

  1. <form method="POST" >
  2. <ul style="list-style-type:none;">
  3. <li>
  4. Product Name: <input type="text" name="ProductName"> <br>
  5. Price: <input type="number" name="Price" value="price"> <br>
  6. Quantity: <input type="number" name="Quantity" value="qty"><br>
  7. <input type="submit" name="btnClick" value="Add">
  8. <input type="submit" name="btnReset" value="Clear">
  9. <input type="submit" name="btnPrint" value="Print"><br>
  10. Total Bill Value: <input type="text" name="Bill">
  11. </li>
  12. </ul>
  13. </form>
  14. <?php
  15. if($_SERVER["REQUEST_METHOD"] == "POST")
  16. {
  17. $result=0;
  18. if(isset($_POST["btnReset"]))
  19. {
  20. setCookie("result", $result);
  21. }
  22. elseif(isset($_POST["btnClick"]))
  23. {
  24. if(isset($_COOKIE["result"]))
  25. {
  26. $result=$_COOKIE["result"];
  27. }
  28. $result= $_POST["Price"]*$_POST["Quantity"];
  29. echo $result;
  30. setCookie("result", $result);
  31. }
  32. else
  33. {
  34. echo "Product: ".$_POST["ProductName"];
  35. echo "Price: ".$_POST["Price"];
  36. echo "Quantity: ".$_POST["Quantity"];
  37. }
  38. }
  39. ?>
  40. </body>

`
我确信这是一个愚蠢的错误,我正在努力。然而,我是一个绝对的初学者,如果有人能指出我的错误并向我解释,我将不胜感激。我主要想知道两件事:
为什么单击“添加”按钮时未设置我的cookie?
如何将用php计算的值放回html表单中,以便“total bill value”文本框将具有总值?
提前谢谢!
编辑:我确实发现了我的错误。我应该把$result=$result+$\u post[“价格”]*$\u post[“数量”];然后将这些值相加。但是,我想知道如何将用php计算的账单总值返回到html表单中

6kkfgxo0

6kkfgxo01#

你应该打电话 setcookie() 在输出任何html之前,请将php代码移到其他代码之上。
要设置表单输入,请执行以下操作:

  1. <?php
  2. if (isset($result)) {
  3. $bill = $result;
  4. } else {
  5. $bill = '';
  6. }
  7. ?>
  8. Total Bill Value: <input type="text" name="Bill" value="<?php echo $bill; ?>">
ghhkc1vu

ghhkc1vu2#

请使用setcookie而不是setcookie
这会奏效的
快乐编码

相关问题