Erreur 500 lorsque je tente la connexion
Résolu/Fermé
HitNRun
Messages postés
34
Date d'inscription
jeudi 7 juillet 2016
Statut
Membre
Dernière intervention
14 décembre 2022
-
11 déc. 2022 à 12:10
HitNRun Messages postés 34 Date d'inscription jeudi 7 juillet 2016 Statut Membre Dernière intervention 14 décembre 2022 - 11 déc. 2022 à 13:52
HitNRun Messages postés 34 Date d'inscription jeudi 7 juillet 2016 Statut Membre Dernière intervention 14 décembre 2022 - 11 déc. 2022 à 13:52
A voir également:
- Erreur 500 lorsque je tente la connexion
- Erreur 0x80070643 - Accueil - Windows
- Gmail connexion - Guide
- Hotmail connexion - Guide
- Erreur 500 - Guide
- 500 mb - Forum SFR
1 réponse
jordane45
Messages postés
38326
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2024
4 712
Modifié le 11 déc. 2022 à 14:37
Modifié le 11 déc. 2022 à 14:37
Bonjour,
Quelques erreurs dans ton code et des choses à améliorer.
<?php //-----------------------------------------------------------// //démarrage des sessions //-----------------------------------------------------------// session_start(); //-----------------------------------------------------------// //Activation de l'affichage des erreurs pHP ( à mettre au début du code ) //-----------------------------------------------------------// error_reporting(E_ALL); ini_set('display_errors', 'on'); //-----------------------------------------------------------// // Connexion à la bdd ( je te conseillerai de le placer dans un fichier externe // et à l'inclure ( via un require_once là où tu en as besoin //-----------------------------------------------------------// try{ $bdd =new PDO('mysql:host=localhost;dbname=neptune;charset=utf8', 'root', 'root'); // Activation des erreurs PDO $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch(PDOException $e) { die('Erreur : ' . $e->getMessage()); } //-----------------------------------------------------------// // Validation du formulaire //-----------------------------------------------------------// //Récupéaration propre des variables AVANT de les utiliser // pour ça, tu peux utilisr l'écriture ternaire (sorte de if/else) $email = !empty($_POST['email']) ? trim($_POST['email']) : NULL; $pswd = !empty($_POST['pswd']) ? trim($_POST['pswd']) : NULL; if ($email && $pswd) { //-----------------------------------------------------------// // On récupère les infos de l'utilisateur en fonction de son email //-----------------------------------------------------------// $sql = 'SELECT * FROM password WHERE email =:email'; $datas = [':email'=>$email]; $passwordStatment = $bdd->prepare($sql); $passwordStatment->execute($datas ); $user = $passwordStatment->fetch(); // on retourne une seule ligne de la bdd $bddPswd = $user['pswd'] ; // NB : On ne doit pas stocker le mot de passe en clair dans la bdd... il faut le "crypter" ( renseignes toi sur les fonctions password_hash et password_verify if($bddPswd == $pswd ){ $_SESSION['user']=$user; header("Location :index.php"); exit; } else { $errorMessage = sprintf('Les informations envoyées ne permettent pas de vous identifier : (%s/%s)', $email, $pswd ); $_SESSION['error']=$errorMessage; header("Location :index.php"); exit; } } ?>
<?php //Démarrage des sessions session_start(); //activation affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //récupération des variables avant de les utiliser // là encore.. écriture ternaire... $errorMessage = !empty($_SESSION['error']) ? !empty($_SESSION['error']) : NULL; ?> <!Doctype html> <html> <!-- le reste de ton html jussqu'à ton formulaire...... --> <!-- .... --> <form action="verification.php" method="POST"> <?php if($errorMessage) { echo '<div class="alert alert-danger" role="alert">'; echo $errorMessage; echo "</div>"; } ?> <p> Adresse mail <input class="champ1" type="email" name="email" placeholder="***@***"> Mot de passe <input class="champ1" type="password" name="pswd" placeholder="password"> </p> <input type="submit" value="Valider" class="btn btn-light"> </form>
11 déc. 2022 à 13:52
Merci beaucoup pour ta précieuse aide, cela marche très bien désormais