0

这是我的问题 - 当我点击提交按钮时,它应该执行一些代码。不幸的是,它所做的只是使用提交的 ID 和值在一个奇怪的 url 刷新页面。文件名为 Q2C.php。这是代码:

<?php
if(isset($_POST['submit'])) {
    $arraylength = count($selectedQuotes);
    for($i = 0; $i < $arraylength; $i = $i + 1) {
        $supplierQuoteID = $selectedQuotes[$i];
        $updateSQL = "UPDATE supplierquotes SET `Selected` = 1 WHERE `SupplierQuoteID` = '$supplierQuoteID'";
        $updateQuery = mysql_query($updateSQL);

    }
} 
?>

<div class="buttons">
    <input type="submit" name="submit" id="submit" value="Create Q2C" />
    <input type="submit" name="cancel" id="cancel" value="Cancel" />
</div>

它把我重定向到这个网址:(path)/Q2C.php?submit=Create+Q2C

我怎样才能阻止它在这里重定向我,而只是执行 if isset 语句中的内容?

4

6 回答 6

4

您需要将按钮放入表单中。

<form method="post">
  <input type="submit" name="submit" id="submit" value="Create Q2C" />
  <input type="submit" name="cancel" id="cancel" value="Cancel" />
</form>

您应该考虑将第二个提交按钮更改为取消按钮。

于 2013-09-24T13:31:10.470 回答
0

您好,我不确定我是否能正确解决您的问题,就像您想向 Q2C.php 提交一个没有名为“方法”的表单属性的表单,如果您根本没有设置该方法,该表单将默认使用 GET 方法。 ...但是从您的代码看来,表单正在使用 get 提交到 Q2C.php....并且您说 (isset($_POST['submit'])) 这是错误的,因为从未设置过提交按钮..您需要做的是将表单的属性方法更改为“发布”方法并尝试再次运行代码...您的表单应该如下所示...

…………
于 2013-09-24T14:46:38.843 回答
0

<form>在您的 HTML 中看不到 a ,但您需要使用POST,而不是GET

<form method=post>
于 2013-09-24T13:31:13.850 回答
0

您尚未在上述代码中完全提交表单,但从重定向的 url 可以清楚地看出您正在使用 GET 作为表单的 post 方法。在您的 isset 检查中,您正在使用 $_POST。将表单方法更改为发布然后它将正常工作。

于 2013-09-24T13:32:03.283 回答
0

您需要指定方法。默认情况下它的get

<div class="buttons">
    <form action="Q2C.php" method="post">
        <input type="submit" name="submit" id="submit" value="Create Q2C" />
        <input type="submit" name="cancel" id="cancel" value="Cancel" />    
    </form>
</div>
于 2013-09-24T13:32:23.363 回答
0

如果您不想刷新页面,您可能应该使用 ajax 提交表单。这是您可以参考的相同代码:

$.ajax({
                type: "GET",
               url: "abc.php",
               data: "name="+form.name.value,
                success: function(rs) 
                { 
                            // do success stuffs here
                          }
                           });
于 2013-09-24T13:36:57.123 回答