@ioriSempai

Почему возникает ошибка при отправке формы PHP?

В общем я хочу сделать проверку введенных данных через сессию, но в итоге возникает ошибка ПРИ введении данных в куда и идет сообщение из сессии. Вот сам код. (ошибка возникает даже тогда, когда ничего еще не занесено в сессию из ошибок) Не знаю, связано ли это с тем, что я только начал изучать PHP.

<form action="check_info.php" method="post" class="form_block">
                <input type="text" name="name" placeholder="Name" class="input_mode">
                <span><?=$_SESSION["error_name"] ?></span>
                <input type="email" name="email" placeholder="Email" class="input_mode">
                <span><?=$_SESSION["error_email"] ?></span>
                <input type="tel" name="phone" placeholder="Phone" class="input_mode">
                <span><?=$_SESSION["error_phone"] ?></span>
                <select name="peopleChoose" id="" class="input_mode" >
                    <option value="">People</option>
                    <option value="">Re</option>
                    <option value="">Re</option>
                </select>
                <input type="text" name="dateBirth" placeholder="Date (mm/dd)" class="input_mode" >
                <span><?=$_SESSION["error_date"] ?></span>
                <select name="seatReservation" id="" class="input_mode">
                    <option value="">Time</option>
                    <option value="">Re</option>
                    <option value="">Re</option>
                    <option value="">RE</option>
                    <option value="">REEEEEE</option>
                </select>
                <div class="btn_main_submit" style="grid-column-start: 1;grid-column-end: 3;">
                    <a href="" class="wave-btn">
                        <span class="wave-btn__text">book now</span>
                        <span class="wave-btn__waves"></span>
                    </a>
                </div>
                <span><?=$_SESSION["submit_good"] ?></span>        
            </form>


А вот сам PHP

<?php

    $name = htmlspecialchars(trim($_POST["name"]));
    $email = htmlspecialchars(trim($_POST["email"]));
    $phone = htmlspecialchars(trim($_POST["phone"]));
    $people = htmlspecialchars(trim($_POST["peopleChoose"]));
    $dateBirth = htmlspecialchars($_POST["dateBirth"]);
    $seatReservation = htmlspecialchars($_POST["seatReservation"]);

    function redirect() {
        header('Location: index.php');
        exit;
    }

    $_SESSION["name"] = $name;
    $_SESSION["email"] = $email;
    $_SESSION["phone"] = $phone;
    $_SESSION["people"] = $people;
    $_SESSION["dateBirth"] = $dateBirth;
    $_SESSION["seatReservation"] = $seatReservation;

    if (strlen($name) < 3) {
        $_SESSION["error_name"] = "Введите корректное имя.";
        redirect();
    }elseif (strpos($email, "@") && strlen($email) < 5) {
        $_SESSION["error_email"] = "Введите корректный email.";
        redirect();
    }elseif (strlen($phone) < 9) {
        $_SESSION["error_phone"] = "Введите корректный номер телефона.";
        redirect();
    }else {
        $count = 0;
        for ($i = 0; $i < strlen($dateBirth); $i++) {
            if ($dateBirth[$i] == "/") {
                $count += 1;
            }
        }
        if ($count != 2) {
            $_SESSION["error_date"] = "Введите корректный день рождения.";
            redirect();
        }else {
            $_SESSION["submit_good"] == "Ваши данные отправлены.";
            redirect();
        }
    }


Вот скрин ошибки
612010843e8b0534107520.png

Пожалуйста, объясните в чем проблема.
  • Вопрос задан
  • 163 просмотра
Решения вопроса 1
С начало сессии стартуй а потом только обращайся.
В начале скрипта
session_start();
И короткие теги php это плохо
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы