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>

次の URL にリダイレクトされます: (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>

2 つ目の送信ボタンをキャンセル ボタンに変更することを検討してください。

于 2013-09-24T13:31:10.470 に答える
0

こんにちは、問題が解決するかどうかわかりません。「メソッド」というフォーム属性を指定せずにフォームを Q2C.php に送信したい場合、メソッドをまったく設定しない場合、フォームはデフォルトで GET メソッドを使用します。 ...しかし、あなたのコードから、フォームはQ2C.phpに送信するためにgetを使用しているようです....そして、送信ボタンが設定されていないため、(isset($_POST['submit']))と言っていますが、これは間違っています.. あなたがする必要があるのは、フォームの属性メソッドを「投稿」メソッドに変更して、コードをもう一度実行してみることです...フォームは次のようになります...

.........
于 2013-09-24T14:46:38.843 に答える
0

上記のコードではフォームを完全に送信していませんが、リダイレクトされた URL から、フォームの post メソッドとして GET を使用していることは明らかです。isset チェックでは $_POST を使用しています。フォーム メソッドを 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 に答える
0

HTML にa が表示されませんが、<form>を使用する必要があります。POSTGET

<form method=post>
于 2013-09-24T13:31:13.850 に答える