Isset($_POST['submit) не работает

Isset($_POST['submit) не работает, но когда я добавляю операцию not(!) она сработала. я не знаю, где найти ошибку. вот мой код

$get = isset($_GET['id']) ? $_GET['id'] : "";
$query = "SELECT * FROM `crew_info` WHERE `id` = '$get'";
$query_run = mysqli_query($conn,$query);

    if(!isset($_POST['submit'])) {

        $query_update = "UPDATE `crew_info` SET `crew_status` = 'NEW' WHERE `id` = '$get'";
        if ($query_update_run = mysqli_query($conn,$query_update)) {

            echo 'Crew Accepted';
        }

    }

вот форма отправки

<form action="review.php" method="POST">

    <table border="2" align="center" width="600" cellspacing="3" cellpadding="4">
        <tr>
            <th>First Name</th>
            <th>Middle Name</th>
            <th>Last Name</th>
            <th>Date Added</th>
            <th>Status</th>
        </tr>
        <tr>';
        while($record = mysqli_fetch_assoc($query_run)) {
        echo "<tr>";
        echo "<th>".$record['first_name']."</th>";
        echo "<th>".$record['middle_name']."</th>";
        echo "<th>".$record['last_name']."</th>";
        echo "<th>".$record['date_added']."</th>";
        echo "<th>".$record['crew_status']."</th>";
        echo '</tr>';
      }
     echo '</table>';
     echo '<br><center><input type="submit" name="submit"></center>
</form>

person jess fernandez    schedule 23.05.2016    source источник
comment
Я просто пытаюсь играть со своими кодами. Есть идеи?   -  person jess fernandez    schedule 23.05.2016
comment
У вас есть форма отправки??? Откуда Почтовый набор??   -  person Murad Hasan    schedule 23.05.2016
comment
да. я отредактировал свой пост   -  person jess fernandez    schedule 23.05.2016
comment
что на самом деле твоя форма здесь делает ??   -  person Murad Hasan    schedule 23.05.2016
comment
форма имеет кнопку, и когда вы нажимаете на нее, она обновляет ее статус.   -  person jess fernandez    schedule 23.05.2016
comment
@jessfernandez, вы не открыли и не закрыли php-тег <?php ?>, тогда как вы можете использовать echo and while loop   -  person Nehal    schedule 23.05.2016
comment
Не нужно использовать форму, просто используйте <a href='...?id=..'>Status Change</a>   -  person Murad Hasan    schedule 23.05.2016
comment
какое имя файла вашего php-кода   -  person Sugumar Venkatesan    schedule 23.05.2016
comment
что ты имеешь в виду @FrayneKonok   -  person jess fernandez    schedule 23.05.2016
comment
pending_crew.php @vSugumar   -  person jess fernandez    schedule 23.05.2016
comment
@jess fernandez должен быть review.php   -  person Sugumar Venkatesan    schedule 23.05.2016
comment
используя тот же цикл, просто используйте тег привязки для обновления статуса, нет необходимости использовать форму.   -  person Murad Hasan    schedule 23.05.2016
comment
но я получаю конкретный идентификатор данных, которые нужно изменить @FrayneKonok   -  person jess fernandez    schedule 23.05.2016
comment
Откуда $query_run?   -  person Murad Hasan    schedule 23.05.2016
comment
то есть для моего запроса выполните @FrayneKonok   -  person jess fernandez    schedule 23.05.2016
comment
Какой запрос вы выполняете здесь?   -  person Murad Hasan    schedule 23.05.2016
comment
соединение в базе данных и запрос UPDATE   -  person jess fernandez    schedule 23.05.2016


Ответы (1)


Вы не отправляете никаких значений.

<input type="submit" name="submit">

Попробуйте что-то вроде этого:

<input type="submit" name="submit" value="ok">

Этот фрагмент PHP проверяет, имеет ли элемент формы с именем «submit» какое-либо значение:

"if isset($_POST['submit'])"

Но поскольку вы не установили никакого значения для «отправить», оно не будет проверено. Однако он будет подтвержден, если вы поставите перед ним восклицательный знак:

!if isset($_POST['submit'])"

Это потому, что тогда вы говорите: «Если для 'submit' не установлено значение, сделайте следующее».

Надеюсь, это имеет смысл. :)

Обновление: у вас также есть несколько других ошибок, которые вам нужно исправить, чтобы все заработало. Это должно исправить большую часть этого. Сравните его с вашим текущим кодом:

<?php $get = isset($_GET['id']) ? $_GET['id'] : "";
$query = "SELECT * FROM crew_info WHERE id = '$get'";
$query_run = mysqli_query($conn,$query);

if(isset($_POST['submit'])) {

    $query_update = "UPDATE crew_info SET crew_status = 'NEW' WHERE id = '$get'";
    if ($query_update_run = mysqli_query($conn,$query_update)) {

        echo 'Crew Accepted';
    }

} ?>

<form action="review.php" method="POST">

<table border="2" align="center" width="600" cellspacing="3" cellpadding="4">
    <tr>
        <th>First Name</th>
        <th>Middle Name</th>
        <th>Last Name</th>
        <th>Date Added</th>
        <th>Status</th>
    </tr>
    <tr>

<?php
    while($record = mysqli_fetch_assoc($query_run)) {
    echo "<tr>";
    echo "<th>".$record['first_name']."</th>";
    echo "<th>".$record['middle_name']."</th>";
    echo "<th>".$record['last_name']."</th>";
    echo "<th>".$record['date_added']."</th>";
    echo "<th>".$record['crew_status']."</th>";
    echo '</tr>';
  }
echo '</table>';
echo '<br><center><input type="submit" name="submit" value="ok"></center>';
?>

</form>
person Guyra    schedule 23.05.2016
comment
это не работает. я пробовал ‹тип ввода=имя отправки=значение отправки=Отправить› - person jess fernandez; 23.05.2016
comment
Но чего вы ожидаете? - person Guyra; 23.05.2016
comment
Ладно, это совсем другая тема. У вас должен быть файл с именем error_log в том же каталоге, что и файлы php. Вы можете открыть его в текстовом редакторе, чтобы увидеть, какие ошибки php у вас есть. Ответ, который я предоставил, устраняет проблему isset. - person Guyra; 23.05.2016