$_POST не получает значение выбранного параметра. Использование PHP и MySQL для заполнения HTML

#php #mysql

Вопрос:

Я хочу сохранить выбранное значение в post и получить к нему доступ из checkout.php. До сих пор этот метод работал на других моих страницах, но здесь он просто не работает. Вот как это выглядит:

Исходная страница значения:

 <form action = "checkout.php" method="post" >
        <select name='time' required>
            <option value="">-- Time --</option>
            <?php
            $result = getFreeAppointments($empid,$date);
            while ($row = mysqli_fetch_array($result)) {
                ?>
                <option value = <?php echo $row['StartTime'];?>><?php echo $row['StartTime'];?></option>
            <?php } ?>
        </select>
        <input class="submit-block" type="submit" value="Checkout">
    </form>
 

Затем в checkout.php это выглядит так.

     if(isset($_POST['time']) amp;amp; !empty($_POST['time'])) {
        $time = $_POST['time'];
    }
    else{
        $time = '10:00:00';
    }

 

Если я повторяю переменную $time, я всегда получаю значение по умолчанию «10:00:00». Есть идеи, что может вызвать эту проблему?

Комментарии:

1. <input class="submit-block" type="submit" value="Checkout"> Нет name набора атрибутов, поэтому ($_POST['submit'] его не существует, поэтому <input name="submit" class="submit-block" type="submit" value="Checkout">

Ответ №1:

Вы забыли добавить name атрибут в <input class="submit-block" type="submit" value="Checkout">

Нравится :- <input class="submit-block" type="submit" name="submit" value="Checkout">

 <form action = "checkout.php" method="post" >
        <select name='time' required>
            <option value="">-- Time --</option>
            <?php
            $result = getFreeAppointments($empid,$date);
            while ($row = mysqli_fetch_array($result)) {
                ?>
                <option value = <?php echo $row['StartTime'];?>><?php echo $row['StartTime'];?></option>
            <?php } ?>
        </select>
        <input class="submit-block" type="submit" name="submit" value="Checkout">
    </form>
 

вы установили isset($_POST["submit"]) , но в HTML-форме нет данных с этим именем.

     if (isset($_POST['submit'])){ // Problem is here
        insertKunde($_POST);
        if(isset($_POST['time']) amp;amp; !empty($_POST['time'])) {
            $time = $_POST['time'];
        }
        else{
            $time = '10:00:00';
        }
}
 

Комментарии:

1. Ой забыл удалить раздел кода, где я использую метод post из ввода на checkout.php файл. Код проблемы начинается с if(isset($_POST[‘time’]) amp;amp; !пустой($_POST[‘time’])) { $time = $_POST[‘time’]; } else{ $time = ’10:00:00′; }