Bonjour, j'ai un problème sur mon code php, je débute, j'essaie de rentrer un utilisateur et un mot de passe dans ma base de donnée depuis mon code mais une erreur persiste. Voici mon code :

index.php :

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>MA PAGE DE MANGER</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<p class="title">COUCOU TOUT LE MONDE, BIENVENU SUR MA PAGE POUR VOUS FAIRE A MANGER : </p>
</br></br></br></br></br>
<div class=formulaire>
<form method="post">
<input type="text" name="username" id="username" placeholder="Enter your username" required> </br></br>
<input type="text" name="password" id="password" placeholder="Enter your password" required> </br></br>
<input type="submit" name="formsend" id="formsend">
</form>

<?php

    include 'database.php';
    global $db;

    $q = $db->prepare("INSERT INTO users(username,password) VALUES(:username,:password)");
    $q->execute([
        'username' => 'utilisateur',
        'password' => 'ze45ery6z4e6y5e161d2'
    ]);

    if(isset($_POST['formsend'])){
        echo "formulaire envoyé";
    }
?>

</body>
</html>

database.php :

<?php

define('HOST', 'localhost');
define('DB_NAME', 'siteweb');
define('USER', 'root');
define('PASS', '');

try{
    $db = new PDO("mysql:host=" . HOST . ";dbname" . DB_NAME, USER, PASS);
    $db->setAttribute(PDO:: ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "connection à la base de donnée effectuée.";
} catch(PDOException $e){
    echo $e;
}

et styles.css :

.title {
font-size: 25px;
margin-left: 250px;
font: bold;
}

.formulaire {
margin-left: 50px;
}

et l'erreur :

connection à la base de donnée effectuée.
( ! ) Fatal error: in E:\wamp64\www\index.php on line 25
( ! ) PDOException: in E:\wamp64\www\index.php on line 25
Call Stack

Time Memory Function Location

1 0.0004 361600 {main}( ) ...\index.php:0
2 0.0029 411048 execute( $bound_input_params = ['username' => 'utilisateur', 'password' => 'ze45ery6z4e6y5e161d2'] ) ...\index.php:25

sous forme de tableau sur mon site.

1 réponse


Bonjour,
il manque un = après "dbname"
le br n'est pas fait pour faire de la mise en page, il y les padding et margin pour cela en css
$e est une classe, pour afficher le message c'est $e->getMessage(); (de mémoire)