注意:未定义变量但我已经定义了它

时间:2021-03-14 22:38:52

标签: php forms variables undefined

我遇到了问题,但找不到解决方案。我收到此错误“注意:未定义变量:id_horaire”。但我定义了它,我不知道如何解决它。 这是我的代码:

<?php 
    require_once '../database.php';
    if (!$_SESSION['admin']) {
        header('location:login.php');
        exit();
    }
        
    if(isset($_GET['id']) AND !empty($_GET['id'])) {
        $id_horaireSecure = htmlspecialchars($_GET['id']);
        $id_horaire = $db->prepare('SELECT * FROM runaway.horaire WHERE id = ?');
        $id_horaire->execute(array($id_horaireSecure));
    }
        
        if(!empty($_POST['heure_ouverture']) AND !empty($_POST['heure_fermeture'])) {
            $heure_ouverture = ($_POST['heure_ouverture']);
            $heure_fermeture = ($_POST['heure_fermeture']);
            $update = $db->prepare('UPDATE runaway.horaire SET heureOuverture=?, heureFermeture=?');
            $update->execute(array($heure_ouverture, $heure_fermeture));
            $message = "L'horaire a bien été mise à jour";
            header('location:login.php');
            exit();
            } else {
            $message = 'Les champs ne sont pas tous remplis';
            }
        
?>
<div class="phpContainer">
        <h2>Changer les horaires d'ouverture du Lundi</h2>
        <div class="form col-12">
            <div class="contact-form container">
                <form method="post" enctype="multipart/form-data">
                    <div class="input-container">
                        <input type="text" name="heure_ouverture" class="input" value="<?=$id_horaire['heureOuverture'] ?>" />
                        <label for="">Heure d'ouverture</label>
                        <span>Heure d'ouverture</span>
                    </div>
                    <div class="input-container">
                        <input type="text" name="heure_fermeture" class="input" value="<?=$id_horaire['heureFermeture'] ?>" />
                        <label for="">Heure de fermeture</label>
                        <span>Heure de fermeture</span>
                    </div>
                    <input type="submit" value="Modifier l'horaire" class="boutonForm">
                </form>
            </div>
        </div>
        <br>
        <?php if(isset($message)) {
            echo $message;
        }
        ?>
    </div>

谢谢! ps:我是法国人,这就是为什么有些变量和文字对你来说可能很奇怪

1 个答案:

答案 0 :(得分:0)

问题是您仅在满足此条件 $id_horaire 时才声明 isset($_GET['id']) AND !empty($_GET['id'])

你可以在 if 之前给它一个默认值,或者你需要改变你的逻辑。