Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 奇怪的问题,为什么我没有点击按钮就提交了表格_Php_Html_Arrays_Function - Fatal编程技术网

Php 奇怪的问题,为什么我没有点击按钮就提交了表格

Php 奇怪的问题,为什么我没有点击按钮就提交了表格,php,html,arrays,function,Php,Html,Arrays,Function,下面的代码是一个加号和减号按钮,它假设从我的购物车数量中添加1或减号1 <form method="post" style="margin: 0; display: inline-block;"> <button method="submit" name="plusBtn" value="add">+</button> <button method="submit" name="minusBtn" value="minus">

下面的代码是一个加号和减号按钮,它假设从我的购物车数量中添加1或减号1

<form method="post" style="margin: 0; display: inline-block;">
      <button method="submit" name="plusBtn" value="add">+</button>
      <button method="submit" name="minusBtn" value="minus">-</button>
      <input type="hidden" name="productID" value="<?php echo $array['shoeId']; ?>">
</form>
这就是我调用函数的方式

        if(isset($_POST['plusBtn'])){
            plusQuantity();
            print_r($_SESSION['finalCart']);
        }
        if(isset($_POST['minusBtn'])){
            minusQuantity();
        }

然而,当页面加载时,函数只是自行加载,函数似乎也不起作用,但是我添加了打印($\u会话['finalCart']或者甚至是一些回显文本到函数部分的调用,以查看函数是否正在运行,实际上它是自己运行的。如果有任何帮助,我仍然是php新手,并尝试学习它,我将不胜感激。

一个正确的方法是使用Ajax调用,它将触发JavaScript调用,并在没有hav的情况下返回响应正在刷新以在提交时重新加载页面

或者,您可以制作(非常难看的解决方案)两种形式:

<form action="/action_page.php">
  <input type="hidden" name="plusBtn" value="add">
  <input type="submit" value="+">
</form>

<form action="/action_page.php">
  <input type="hidden" name="plusBtn" value="minus">
  <input type="submit" value="-">
</form>


但我更愿意设计单选按钮等,并使用适当的Ajax调用。

“然而,当页面加载时,函数只是自行加载,而函数似乎也无法正常工作。”-真的不清楚你到底是什么意思。请正确解释加载页面时会发生什么,以及这与你预期的情况有什么不同。“这是一个加1或减1的函数”-指定固定值20也不是真正的“加1”…如果你转储了你的帖子数据,那么var_dump(post)您可以看到您没有发送任何plusBtn或minusBtn参数。您的选项id创建了两个表单。一个用于负号,一个用于加号。发送产品id之类的参数感谢您指出button方法,我本想输入,但我想我没有再次检查。Ouups第二个表单上的名称应为“minusBtn”
<form action="/action_page.php">
  <input type="hidden" name="plusBtn" value="add">
  <input type="submit" value="+">
</form>

<form action="/action_page.php">
  <input type="hidden" name="plusBtn" value="minus">
  <input type="submit" value="-">
</form>