Php/Mysql problème d'envoi de formulaire vers la base de données
Résolu/Fermé
Wollfie
Messages postés
16
Date d'inscription
lundi 30 octobre 2017
Statut
Membre
Dernière intervention
29 janvier 2018
-
30 oct. 2017 à 18:15
Wollfie Messages postés 16 Date d'inscription lundi 30 octobre 2017 Statut Membre Dernière intervention 29 janvier 2018 - 30 oct. 2017 à 22:41
Wollfie Messages postés 16 Date d'inscription lundi 30 octobre 2017 Statut Membre Dernière intervention 29 janvier 2018 - 30 oct. 2017 à 22:41
A voir également:
- Formulaire insertion données mysql php pdf
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Save as pdf - Télécharger - Bureautique
- Comment faire un pdf - Guide
- Formulaire de réclamation facebook - Guide
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
5 réponses
jordane45
Messages postés
38425
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 février 2025
4 734
30 oct. 2017 à 20:07
30 oct. 2017 à 20:07
Bonjour
Pour commencer : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Puis ça :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Cordialement,
Jordane
Pour commencer : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Puis ça :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Cordialement,
Jordane
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
Ambassadeur
1 568
30 oct. 2017 à 20:08
30 oct. 2017 à 20:08
bonsoir, peux-tu partager le texte de ton code PHP, et pas l'image?
Wollfie
Messages postés
16
Date d'inscription
lundi 30 octobre 2017
Statut
Membre
Dernière intervention
29 janvier 2018
2
Modifié le 30 oct. 2017 à 21:41
Modifié le 30 oct. 2017 à 21:41
<?php error_reporting(E_ALL); $bdd= new PDO('mysql:host=localhost;dbname=visiteurs;charset=utf8','root','') $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); catch(PDOException $e) { die('Erreur : ' . $e->getMessage()); } ?>
J'ai mis ça, et ma page refuse de se charger et le message "Parse error: syntax error, unexpected '$bdd' (T_VARIABLE) in C:\wampserv64\www\Site\Signin.php on line 4" apparaît, la ligne 4 dans mon fichier étant le premier "set attribute"
Wollfie
Messages postés
16
Date d'inscription
lundi 30 octobre 2017
Statut
Membre
Dernière intervention
29 janvier 2018
2
30 oct. 2017 à 21:31
30 oct. 2017 à 21:31
Sachant que je n'ai pas encore mis la partie détection d'erreurs de requête dans mon code...
jordane45
Messages postés
38425
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 février 2025
4 734
Modifié le 30 oct. 2017 à 21:42
Modifié le 30 oct. 2017 à 21:42
Il manque un point-virgule à la ligne 3
Wollfie
Messages postés
16
Date d'inscription
lundi 30 octobre 2017
Statut
Membre
Dernière intervention
29 janvier 2018
2
>
jordane45
Messages postés
38425
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 février 2025
30 oct. 2017 à 21:46
30 oct. 2017 à 21:46
Merci beaucoup ! Après une autre petite correction (nom de variable : pass_hache et pas passe_hache) ça fonctionne bien !
Wollfie
Messages postés
16
Date d'inscription
lundi 30 octobre 2017
Statut
Membre
Dernière intervention
29 janvier 2018
2
30 oct. 2017 à 21:55
30 oct. 2017 à 21:55
J'en profite pendant que vous êtes là, dans le login cette fois, j'ai mis dans le code l'affichage des erreurs, aucune erreur n'est affichée :
$pseudo = ($_POST['pseudologin']); //hachage du mdp $pass_harche = sha1($_POST['mdplogin']); //verification des id $req = $bdd->prepare('SELECT id FROM visiteurs WHERE pseudo = :pseudo AND mdp = :mdp'); $req->execute(array( 'pseudo' => $pseudo, 'mdp' => $pass_hache)); $resultat = $req->fetch(); if(!$resultat) { ?> <script> alert('Mauvais mot de passe ou identifiant!'); </script> <?php } else { session_start(); $_SESSION['id'] = $resultat['id']; $_SESSION['pseudo'] = $pseudo; header('location: membres.php'); }
Wollfie
Messages postés
16
Date d'inscription
lundi 30 octobre 2017
Statut
Membre
Dernière intervention
29 janvier 2018
2
30 oct. 2017 à 22:11
30 oct. 2017 à 22:11
Même en ayant corrigé le fait que je ne sache pas écrire hache à la ligne 3, le problème reste existant...
jordane45
Messages postés
38425
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 février 2025
4 734
>
Wollfie
Messages postés
16
Date d'inscription
lundi 30 octobre 2017
Statut
Membre
Dernière intervention
29 janvier 2018
30 oct. 2017 à 22:17
30 oct. 2017 à 22:17
Comme expliqué dans le lien que je t'ai donné.... Place tes requêtes dans des blocs try catch...
Et puis... Sans voir l'intégralité de ton code... Difficile de te répondre
Et puis... Sans voir l'intégralité de ton code... Difficile de te répondre
Wollfie
Messages postés
16
Date d'inscription
lundi 30 octobre 2017
Statut
Membre
Dernière intervention
29 janvier 2018
2
>
jordane45
Messages postés
38425
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 février 2025
30 oct. 2017 à 22:19
30 oct. 2017 à 22:19
Je l'ai fait de mon côté mais ça n'a rien donné...
Wollfie
Messages postés
16
Date d'inscription
lundi 30 octobre 2017
Statut
Membre
Dernière intervention
29 janvier 2018
2
>
jordane45
Messages postés
38425
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 février 2025
30 oct. 2017 à 22:19
30 oct. 2017 à 22:19
Je peux t'envoyer des messages privés avec tout mon code ?
jordane45
Messages postés
38425
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 février 2025
4 734
>
Wollfie
Messages postés
16
Date d'inscription
lundi 30 octobre 2017
Statut
Membre
Dernière intervention
29 janvier 2018
30 oct. 2017 à 22:22
30 oct. 2017 à 22:22
Non.
Tu postes sur le forum
Tu postes sur le forum
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Wollfie
Messages postés
16
Date d'inscription
lundi 30 octobre 2017
Statut
Membre
Dernière intervention
29 janvier 2018
2
30 oct. 2017 à 22:24
30 oct. 2017 à 22:24
Mon code entier : Bonne chance !
<?php try{ error_reporting(E_ALL); $bdd = new PDO('mysql:host=localhost;dbname=visiteurs;charset=utf8','root',''); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); }catch(PDOException $e) { die('Erreur : ' . $e->getMessage()); } ?> <form method="post" action=""> <fieldset id="formulairelogin"> <label for="pseudo">Entrez votre Pseudonyme:</label> <input type="text" id="pseudo" name="pseudologin" autocomplete="on"><br> <label for="mdp">Entrez votre Mot de passe:</label> <input type="password" id="mdp" name="mdplogin"><br> <input type="submit" value="Envoyer"> </fieldset> </form> <p><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p> <div id="bas"><p><br></p></div> <?php if(isset($_POST['Envoyer'])){ //test de l'envoi du formulaire $pseudo = ($_POST['pseudologin']); //hachage du mdp $pass_hache = sha1($_POST['mdplogin']); //verification des id try{$req = $bdd->prepare('SELECT id FROM visiteurs WHERE pseudo = :pseudo AND mdp = :mdp'); $req->execute(array( 'pseudo' => $pseudo, 'mdp' => $pass_hache)); $resultat = $req->fetch(); //verification du mot de passe if(!$resultat) { ?> <script> alert('Mauvais mot de passe ou identifiant!'); </script> <?php } else { //si bon, ouverture de la session session_start(); $_SESSION['id'] = $resultat['id']; $_SESSION['pseudo'] = $pseudo; header('location:membres.php'); }}catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); }} ?>
Wollfie
Messages postés
16
Date d'inscription
lundi 30 octobre 2017
Statut
Membre
Dernière intervention
29 janvier 2018
2
30 oct. 2017 à 22:41
30 oct. 2017 à 22:41
Désolé du dérangement, j'ai oublié le name= dans la partie submit du formulaire, tout fonctionne correctement,
merci de votre aide précieuse,
Cordialement,
Léo.
merci de votre aide précieuse,
Cordialement,
Léo.