Последовательная форма подается на той же странице - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь отправить несколько последовательных форм, обусловленных предыдущей формой, а затем обновить базу данных новой информацией. Если ответ на первый вопрос, то go на второй вопрос. Если ответ на второй вопрос, то go на третий. Если на третий вопрос ответили, обновите базу данных. Мой код:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <?php
    // Database connection
    $conn = new mysqli('localhost', 'admin', 'pass', 'TEST') 
    or die ('Cannot connect to db');

            // Var declared
            $Room = $_POST['Room'];
            $Name = $_POST['name'];
            $Tlf = $_POST['Tlf'];

        if(isset($_POST['Tlf']) && $_POST['Tlf'] != "") {
            // Last question answered, do your stuff
            echo "You have selected :" .$Room;
            echo "You have selected :" .$Name;
            echo "You have selected :" .$Tlf;            

        } elseif(isset($_POST['name']) && $_POST['name'] != "") {
            // Second question answered
            $Name = $_POST['name'];
            echo "<html>";
            echo "<body>";
            echo "<input type='text' name='Tlf' value=Telephone>";
            echo "<input type='submit' name='tlf_submit' value='Search_tlf'>";
            echo "</body>";
            echo "</html>";

        } elseif(isset($_POST['Room']) && $_POST['Room'] != "") {
            // First question answered
            echo "<html>";
            echo "<body>";
            echo "<input type='text' name='name' value=name>";
            echo "<input type='submit' name='name_submit' value='Search_name'>";
            echo "</body>";
            echo "</html>";
            } else {

    // Fetch info from database
    $result = $conn->query("select Room from TEST1 WHERE Room_status = 'OUT'");

    echo "<html>";
    echo "<body>";
    echo "<form action='' method='post'>";
    echo "<select name='Room'>";

    while ($row = $result->fetch_assoc()) {

                  unset($Room);
                  $Room = $row['Room']; 
                  echo '<option value="'.$Room.'">'.$Room.'</option>';

}

    echo "</select>";
    echo "<input type='submit' name='form_submit' value='Search'>";
    echo "</body>";
    echo "</html>";

//Update database with selected data
if(isset($_POST['form_submit'])){
$Room = $_POST['Room'];  // Storing Selected Value In Variable
$sql_insert_rom = "UPDATE TEST1
                                    SET 
                                    Room = $Room
                                    WHERE Room_status = 'TEST'";

                            if ($conn->query($sql_insert_rom) === TRUE) {
                    }
}
else {
echo "do nothing";
}

        }
    ?>

</form>

При запуске этого я получаю:

You have selected :You have selected :You have selected :Telephone

При запуске части // Fetch info from database отдельно, она работает просто отлично.

Я очевидно, новичок здесь, так что вы можете помочь мне выяснить, почему мой код работает не так, как задумано?

А пока я просто собираюсь написать каждую часть кода как отдельные страницы.

Спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...