单击按钮时如何运行php?

单击按钮时如何运行php?,php,html,Php,Html,我想在单击submit按钮时运行一个php页面,下面是我的代码: echo "<tr><td colspan=3> <form method='post'><table><tr><td> <h4>Quantity</h4></td><td><input type=text name='qnt' /></td><td>

我想在单击submit按钮时运行一个php页面,下面是我的代码:

    echo "<tr><td colspan=3>
    <form method='post'><table><tr><td>
    <h4>Quantity</h4></td><td><input type=text name='qnt' /></td><td>
    <input type='button' value='Add to card' name='buy' /></td></tr></table>
    </form>
    </td></tr>";

      if(isset($_POST['buy'])){
        echo "<script type='text/javascript'> alert('successful'); </script>";
    include("addtocard.php");
  }
echo”
量
";
如果(isset($_POST['buy'])){
回显“警报(‘成功’);”;
包括(“addtocard.php”);
}
更改

<input type='button' value='Add to card' name='buy' />


为了绝对安全,应该有两个更改:

  <form method='post'> 

应该有一个action属性,指向文件在服务器ie上的位置

<form method='post' action="/myfile.php">

此外:

<input type='button' value='Add to card' name='buy' />  

应该是

<input type='submit' value='Add to card' name='buy' />

您可能需要将值从“按钮”更改为“提交”,这可能会起作用。祝你好运,下面是一个例子:

<input type="submit" value='Add to card' name="buy" action= "<?php echo htmlentities($_SERVER['PHP_SELF']); ?>"/>

似乎其他一些人也在尝试回答这个问题,但我认为他们忽略了您的代码的根本问题。PHP不在客户端运行,只在服务器端运行。您需要(正如其他人所说的)将表单提交给PHP服务,以检查用户在表单中输入的值


您可能想进一步了解PHP的工作原理,因为它输出HTML,但在用户看到的实际网页上根本不存在,所以可能会有点混乱。PHP文档可能会有所帮助。

我使用前面提到的一些内容测试了您的代码,包括在a中所说的关于在表单输入中输入数量的内容

旁注:由于不知道
addtocard.php
文件中有什么内容,我使用自己的基本代码生成(复制)了一个成功的测试。下文进一步包括注释

使用:

<?php
    echo "<tr><td colspan=3>
    <form method='post'><table><tr><td>
    <h4>Quantity</h4></td><td><input type=text name='qnt' /></td><td>
    <input type='submit' value='Add to card' name='buy' /></td></tr></table>
    </form>
    </td></tr>";

      if(isset($_POST['buy'])){
    echo "<script type='text/javascript'> alert('successful'); </script>";
    include("addtocard.php");

}
并且在表单中输入数字100,事实上,它确实回显了
100
,并且它也产生了一个
成功
的弹出警报

您还可以使用添加的条件语句检查是否设置了“提交”按钮,以及是否输入了数量:

<?php
    echo "<tr><td colspan=3>
    <form method='post'><table><tr><td>
    <h4>Quantity</h4></td><td><input type=text name='qnt' /></td><td>
    <input type='submit' value='Add to card' name='buy' /></td></tr></table>
    </form>
    </td></tr>";

      if(isset($_POST['buy']) && !empty($_POST['qnt'])){

echo "<script type='text/javascript'> alert('successful'); </script>";
include("addtocard.php");
}
else {
echo "Enter a quantity.";
}

我做了,但我仍然有同样的问题..不起作用这个答案没有错。我用Crispen的答案测试了你的代码,它成功了。另外,您发布的代码没有
@Fred ii-是的,您是对的,我正在尝试将数量发布到
addtocard.php
。顺便说一句,我在另一个页面上也采用了同样的方法,它成功地工作了,但在这段代码中,当我单击submit按钮时,页面将重新加载,而其他内容正在破坏您的代码。您是否可以发布该文件中的内容@USER3194430老实说,我本应该对此发表评论的,但我甚至没有意识到其中存在着误解。抢手货
<?php
$qnt = $_POST['qnt'];
echo "Quantity: " . $qnt;
<?php
    echo "<tr><td colspan=3>
    <form method='post'><table><tr><td>
    <h4>Quantity</h4></td><td><input type=text name='qnt' /></td><td>
    <input type='submit' value='Add to card' name='buy' /></td></tr></table>
    </form>
    </td></tr>";

      if(isset($_POST['buy']) && !empty($_POST['qnt'])){

echo "<script type='text/javascript'> alert('successful'); </script>";
include("addtocard.php");
}
else {
echo "Enter a quantity.";
}