首页 > 解决方案 > 注意:未定义的变量,但我已经定义了它

问题描述

我有一个问题,我找不到解决方案。我收到此错误“注意:未定义的变量: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:我是法国人,这就是为什么有些变量和文本对你来说可能看起来很奇怪

标签: phpformsvariablesundefined

解决方案


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

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


推荐阅读