Попытка вставить данные с формой, но получить ошибку неопределенной переменной - PullRequest
0 голосов
/ 11 ноября 2018

Я пытаюсь сделать форму, которая вставляет значения в мою базу данных, но я всегда получаю это сообщение об ошибке для id_team, name и img:

Notice: Undefined variable: id_team in *** on line 12

То есть говорится, что ошибка исходит из этой строки:

$query1 = "INSERT INTO player (id, id_team, name, img) VALUES(NULL, $id_team, $name, $img)";

Но я не вижу ошибок в моем запросе вставки.

Вот мой php:

include('../../../connexion.php');
$connexion=connexionBd();

if(isset($_POST['id_team']) && isset($_POST['name'])&& isset($_POST['img'])&& !empty($_POST['id_team'])&& !empty($_POST['name'])&& !empty($_POST['img'])){
    $id_team=$_POST['id_team'];
    $name=$_POST['name'];
    $img=$_POST['img'];
}

$query1 = "INSERT INTO player (id, id_team, name, img) VALUES(NULL, $id_team, $name, $img)";

$query3 = "SELECT * FROM team";
$resultat3=$connexion->query($query3);
$res3=$resultat3->fetchALL(PDO::FETCH_ASSOC);

А вот моя форма:

       <form method="post" action="add.php">
        <fieldset>
            <legend>Add a player</legend>

            <p>
                <label>Team</label>
                <select name="id_team">
                <?php foreach($res3 as $key => $value): ?> 
                    <option value="<?=$value['id']?>"><?=$value['name']?></option>
                <?php endforeach; ?>

                </select>
            </p> 

            <p>
                <label>name</label>
                <input type="text" name="name" />
            </p>

            <p>
                <label>Image</label>
                <input type="file" name="img" style="width:200px; font-size:10px;" />
            </p>

            <p>
                <input type="submit" name="send" value="Envoyer" />
            </p>

        </fieldset>
    </form>

Ответы [ 2 ]

0 голосов
/ 11 ноября 2018

Я получаю эту ошибку, потому что я забыл поместить запрос в цикл if, чтобы он не распознавал значения.

if(isset($_POST['id_team']) && isset($_POST['name'])&& isset($_POST['img'])&& !empty($_POST['id_team'])&& !empty($_POST['name'])&& !empty($_POST['img'])){
    $id_team=$_POST['id_team'];
    $name=$_POST['name'];
    $img=$_POST['img'];

    $query1 = "INSERT INTO player (`id`, `id_team`, `name`, `img`) VALUES(NULL, '$id_team', '$name', '$img')";

}
0 голосов
/ 11 ноября 2018

Попробуйте это:

$query1 = "INSERT INTO player (`id`, `id_team`, `name`, `img`) VALUES(NULL, '$id_team', '$name', '$img')";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...