Erreur 500
Résolu
sam587
Messages postés
256
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Salut, je suis novice dans le php et je coince ici:
J'ai ce code, qui me semble bon.
Il s'agît de la partie traitement serveur pour se connecter à une session en vérifiant les informations dans la BDD, rien de très complexe.
Mais mon code me génère une erreur 500 lors de l'envoie du formulaire de connexion.
Voyez-vous des erreurs de syntaxes ou autre là dedans? Car de mon côté je ne trouve rien. Merci d'avance.
J'ai ce code, qui me semble bon.
Il s'agît de la partie traitement serveur pour se connecter à une session en vérifiant les informations dans la BDD, rien de très complexe.
Mais mon code me génère une erreur 500 lors de l'envoie du formulaire de connexion.
<?php if (isset($_POST['connexion'])) { $pseudo = htmlspecialchars($_POST['pseudo']); $mdp = htmlspecialchars($_POST['mdp']); $req = $bdd->prepare("SELECT id FROM membres WHERE login=':pseudo' AND pass=':mdp'"); $requete->execute(array($pseudo, $mdp)); $resultat = $req->fetch(); if (!$resultat) { echo 'Mauvais identifiant ou mot de passe !'; } else { session_start(); $_SESSION['id'] = $resultat['id']; $_SESSION['pseudo'] = $pseudo; header ('Location: index.php'); } } ?>
Voyez-vous des erreurs de syntaxes ou autre là dedans? Car de mon côté je ne trouve rien. Merci d'avance.
A voir également:
- Erreur 500
- Erreur 500 - Guide
- Formate pour taxer client 500€ ✓ - Forum Consommation & Internet
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur 0x80070643 - Accueil - Windows
- Erreur t32 ✓ - Forum Livebox
1 réponse
Bonjour,
Tu as des quotes en trop dans ta requête.
Pour trouver les erreurs... il faut ajouter un "error_reporting" en début de ton script et jouer avec des TRY / CATCH pour intercepter les erreurs.
Voici ton code corrigé et remis en forme correctement :
Tu as des quotes en trop dans ta requête.
Pour trouver les erreurs... il faut ajouter un "error_reporting" en début de ton script et jouer avec des TRY / CATCH pour intercepter les erreurs.
Voici ton code corrigé et remis en forme correctement :
<?php //Pour afficher les erreurs php error_reporting(E_ALL); //Démarrage des SESSION (avant TOUTE autre chose ) session_start(); //récupération "propre" des variables : $pseudo = isset($_POST['pseudo']) ? htmlspecialchars($_POST['pseudo']): NULL; $mdp = isset($_POST['mdp']) ? htmlspecialchars($_POST['mdp']): NULL; if ($pseudo && $mdp) { try{ $sql = "SELECT id FROM membres WHERE login=:pseudo AND pass=:mdp"; $params = array(":pseudo"=>$pseudo,":mdp"=> $mdp); $req = $bdd->prepare($sql); $requete->execute($params); $resultat = $req->fetch(); }catch(Exception $e) { //en cas de problème dans la requête echo "<pre><br>".$e->getMessage()."<br>"; echo "<u>Requete :</u>".$sql; echo "Params :<br>"; print_r($params); echo "</pre>"; } if (!$resultat) { echo 'Mauvais identifiant ou mot de passe !'; } else { $_SESSION['id'] = $resultat['id']; $_SESSION['pseudo'] = $pseudo; header ('Location: index.php'); } } ?>
je pense que ça vient de là.
Commence par ça:
n'aurais tu pas oublié d'inclure ton fichier te connexion ?
un truc du genre :
Pour la connexion à la BDD j'utilise ça: include('config.php') et (je pense) que ça fonctionne jusqu'ici.
Sinon j'ai tenté de trouver la partie qui génère l'erreur, en retirant ce bout du code :
Ça "fonctionne" dans le sens où je n'ai pas l'erreur, par contre je n'arrive pas à trouver la ligne source de l'erreur.
$req d'un côté .... $requete de l'autre. .. erreur non ?