Почему моя форма ввода не отправляет данные в мою базу данных SQL? - PullRequest
0 голосов
/ 09 февраля 2020

Я пытаюсь отправить входные данные в базу данных SQL, но это не работает. Имя базы данных - scifair, а имя таблицы (в базе данных) - пользователи. Проблема заключается в этих двух php файлах. Я использую phpmyadmin для управления базой данных SQL. Пожалуйста, скажите мне, что мне нужно исправить как можно скорее!

add. php

<?php

include_once 'includes/db_connect.php';

$firstname = $email = '';
    $errors = array('firstname'=>'', 'email'=>'');

    if(isset($_POST['submit'])){
    // check name
    if(empty($_POST['firstname'])){
        $errors['firstname'] = 'Enter a name! <br />';
    } else {
        echo htmlspecialchars($_POST['firstname']);
        $firstname = $_POST['firstname'];
        if(!preg_match('/^[a-zA-Z]+$/', $firstname)){
            $errors['firstname'] = 'Name can only be letters! <br />';
        }
    }
    // check email
    if(empty($_POST['email'])){
        $errors['email'] = 'Enter an email! <br />';
    } else {        
        echo htmlspecialchars($_POST['email']);
        $email = $_POST['email'];
        if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
            $errors['email'] = 'Invalid email! <br />';
        }
    }

    if(array_filter($errors)){
        echo ' errors in the form';
    } else {
        echo ' form is valid';
    }
}

?>
<!DOCTYPE html>
<html>
<head>
<title>SCIENCE FAIR</title>
<link rel="stylesheet" href="style.css">
    <section class ="container grey-text">
    <form class="white" action="add.php" method="POST">
    <tr>
        <label>First Name:</label>
        <td><input type="text" name="firstname" placeholder="First Name"></td></br>
        <?php echo $errors['firstname']; ?></div>
    </tr>
    <tr>
        <label>Email:</label>
        <td><input type="text" name="email" placeholder="Email"></td></br>
        <?php echo $errors['email']; ?></div>
    </tr>
        <div class="center">
            <td colspan="2"><input type="submit" name="submit" value="Submit"></td>
        </div>
    </form>

</section>
</html>
<?php
if(isset($_POST['submit'])) {
    $firstname = $_POST['firstname'];
    $email = $_POST['email'];

    $query = "INSERT INTO users (name, email) VALUES ($firstname, $email)";
    mysqli_query($conn, $query);
}
?>

db_connect. php

<?php

$dbServername = "localhost";
$dbUsername = "scifair";
$dbPassword = "password";
$dbName = "scifair";
// connect to database
$conn = mysqli_connect($dbServername, $dbUsername, $dbPassword, $dbName);

// check connection
if(!$conn){
    echo 'Connection error: ' . mysqli_connect_error();
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...