J'ai une erreur que je n'arrive pas à résoudre

(Notice: Undefined variable: db in /storage/ssd3/187/18532187/public_html/connexion bdd/motdepasseoublie.php on line 37)

Voici mon code :

<?php
include 'config.php';
?>

<!DOCTYPE html>
<html>

<head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Forgot password ?</title>
</head>

<body>
    <h2>Forgot password</h2>
    <form method="post">
        <div class="container">
            <label for="email"><b>Email</b></label>
            <input type="email" placeholder="Enter Email" name="email" required>
            <button type="submit">Send me a random password</button>
        </div>
    </form>
</body>

</html>

<?php

if (isset($_POST['email'])) {
    $password = uniqid();
    $hashedPassword = password_hash($password, PASSWORD_DEFAULT);

    $subject = 'Mot de passe oublié';
    $message = "Bonjour, voici votre nouveau mot de passe : $password";
    $headers = 'Content-Type: text/plain; charset="UTF-8"';

    if (mail($_POST['email'], $subject, $message, $headers)) {
        $stmt = $db->prepare("UPDATE users SET password = ? WHERE email = ?");
        $stmt->execute([$hashedPassword, $_POST['email']]);
        echo "E-mail envoyé";
    } else {
        echo "Une erreur est survenue";
    }
}

Pouvez vous m'aider à la résoudre ?

4 réponses


ToinouPHP
Réponse acceptée

Oui, donc voila, $db n'existe pas dans config.php.

Ce qui est bien avec PHP, c'est que ça indique les erreurs.

$db n'est pas déclaré

l'origine de l'erreur se trouve surement dans le fichier config.php

quel est le code ce dernier ?

voici le code config.php :

<?php
// Informations d'identification
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'id18532187_minojic');
define('DBPASSWORD', '01042007Mat');
define('DB_NAME', 'id18532187_minoji');

// Connexion à la base de données MySQL
$conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);

// Vérifier la connexion
if($conn === false){
die("ERREUR : Impossible de se connecter. " . mysqli_connect_error());
}
?>