PHP submit обновляет страницу и принимает идентификатор отправки в качестве параметра

0

Это моя проблема - когда я нажимаю кнопку отправки, она должна выполнить какой-то код. К сожалению, все, что он делает, это обновить страницу по странному 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: (путь)/Q2C.php?submit=Create+Q2C

Как я могу остановить его перенаправлять меня сюда, а вместо этого просто выполнить то, что содержится в инструкции if isset?

Теги:
forms

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>

Вы должны рассмотреть возможность изменения второй кнопки отправки на кнопку отмены.

0

Привет, я не уверен, что я исправлю вашу проблему. Вы хотите отправить форму Q2C.php без атрибута формы, называемого "Метод", если вы вообще не устанавливаете метод, форма будет использовать метод GET по умолчанию.... но из вашего кода кажется, что форма использует get to submit to Q2C.php.... и вы говорите (isset ($ _ POST ['submit'])), что неверно, потому что кнопка Submit никогда не была установлена.. что вам нужно сделать, это изменить установить метод атрибута формы на метод "post" и снова запустить код... ваша форма должна выглядеть так...

.........
0

Я не вижу <form> в вашем HTML, но вам нужно использовать POST, а не GET

<form method=post>
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>
0

Вероятно, вы должны использовать ajax для отправки формы, если вы не хотите обновлять страницу. Вот тот же код, на который вы можете ссылаться:

$.ajax({
                type: "GET",
               url: "abc.php",
               data: "name="+form.name.value,
                success: function(rs) 
                { 
                            // do success stuffs here
                          }
                           });
0

Вы полностью не представили свою форму в приведенном выше коде, но из перенаправленного URL-адреса видно, что вы используете GET в качестве почтового метода формы. И в вашей проверке isset вы используете $ _POST. Измените метод формы для публикации, тогда он будет работать нормально.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню