Вставка данных формы в базу данных с использованием PDO с помощью оператора if - PullRequest
0 голосов
/ 27 августа 2018
try {
$results = $db->prepare("INSERT INTO Form_Data
                        (first_name, last_name, email, gender, comment)
                        VALUES
                        (?,?,?,?,?) 
                        ");
$results->bindParam(1,$fname,PDO::PARAM_STR);
$results->bindParam(2,$lname,PDO::PARAM_STR);
$results->bindParam(3,$email);
$results->bindParam(4,$gender);
$results->bindParam(5,$comment,PDO::PARAM_STR);

if ($_SERVER["REQUEST_METHOD"] == "POST") { 
    $results->execute();
}

} catch (Exceptions $e) {
echo "Unable to insert data";
exit;
}

Я хочу добавить данные формы в базу данных, используя SQL, PHP и PDO.

Нужно ли использовать оператор if($_SERVER["REQUEST_METHOD] == "POST"), чтобы каждый раз, когда кто-то отправляет форму, которую я могу собратьданные в базу данных?Или я могу просто использовать кодовый блок $results->execute(); один раз?И почему?

1 Ответ

0 голосов
/ 27 августа 2018

Почему бы вам не проверить, отправлена ​​ли форма, и только если это вы делаете попытку / поймать?

Примерно так

<?php
if (isset($_POST['submit'])) {
    try {
        $fname = $_POST['name'];
        // Your other assignments

        $results = $db->prepare("INSERT INTO Form_Data
                    (first_name, last_name, email, gender, comment)
                    VALUES
                    (?,?,?,?,?) 
                    ");
        $results->bindParam(1,$fname,PDO::PARAM_STR);
        $results->bindParam(2,$lname,PDO::PARAM_STR);
        $results->bindParam(3,$email);
        $results->bindParam(4,$gender);
        $results->bindParam(5,$comment,PDO::PARAM_STR);
        $results->execute();

    } catch (Exceptions $e) {
        echo "Unable to insert data";
        exit;
    }    
}
?>

<form method="POST">
    <label for="name">Name</label>
    <input type="text" id="name" name="name">

    // Your other input

    <input name="submit" id="submit" value="Submit" type="submit">

</form>

Кстати, всегда используйте "===" вместо "==" для проверки данных И тип узнать больше

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...