Probleme connexion Bdd
Résolu
zarakai91
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
zarakai91 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
zarakai91 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous
J'ai un petit soucis au niveau de ma connexion a ma base de donné
voici la page avec ma requete sql afin de l'inserer des donnée dans ma bdd
et voici ma page de connexion a ma bdd
Je ne vois pas mon erreur, normalement lorsque j'appuie sur mon bouton, cela devrais transmettre à ma bdd les données saisies dans mon formulaire
Mais lorsque je vérifie ma bdd phpMyAdmin il n'y aucun nouvelle entrée, pourtant j'ai vérifié que le nom de la bdd et le nom de la table que je passe en paramètre sont corrects.
Merci d'avance,
J'ai un petit soucis au niveau de ma connexion a ma base de donné
voici la page avec ma requete sql afin de l'inserer des donnée dans ma bdd
<?php include "Connection.php"; if(isset($_POST['login'])){ echo "blabla"; $reponse = $bdd->prepare("INSERT INTO user VALUES (:surname,:forename,:address,:email,:num,:username,:pw,'')"); $reponse->execute(array( 'surname' => $_POST['surname'], 'forename' => $_POST['forename'], 'address' => $_POST['address'], 'email'=>$_POST['email'], 'num'=>$_POST['num'], 'username'=>$_POST['username'], 'pw'=>$_POST['pw'])); print_r($_POST); echo "flag"; } ?> <!Doctype html> <html> <head> <title>Registration Page</title> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="RegistrationForm.css"> </head> <body> <div id="tabs"> <ul> <li><a href="Welcome.php" rel="url1">Welcome </a></li> <li><a href="Registration.php" rel="url2">Registration</a></li> </ul> </div> <h1 class="reg">Registration</h1> <form method="post"> <table class="tabl"> <tr><th colspan="2" class="test" ><i><h2>LOGIN </h2></i></th></tr> <tr><th> Surname :</th> <td> <input type="text" name="surname"></td> </tr> <tr><th>Forenames :</th> <td> <input type="text" name="forename"></td></tr> <tr><th>Date of Birth:</th> <td> <input type="date" name="date"></td></tr> <tr><th>Address :</th> <td> <input type="text" name="address"></td></tr> <tr><th>Email :</th> <td> <input type="email" name="email"></td></tr> <tr><th>Telephone number :</th> <td> <input type="tel" name="num"></td></tr> <tr><th>Username :</th> <td> <input type="text" name="username"></td></tr> <tr><th>Password :</th> <td> <input type="password" name="pw"></td></tr> <tr><th colspan="2" class="test"><input type="submit" name="login" value="Login"></th> </tr> </table> </form> </body> </html>
et voici ma page de connexion a ma bdd
<?php try { // On se connecte à MySQL $bdd = new PDO("mysql:host=localhost;dbname=a4", "root", ""); } catch(Exception $e) { // En cas d'erreur, on affiche un message et on arrête tout die('Erreur : '.$e->getMessage()); } ?>
Je ne vois pas mon erreur, normalement lorsque j'appuie sur mon bouton, cela devrais transmettre à ma bdd les données saisies dans mon formulaire
Mais lorsque je vérifie ma bdd phpMyAdmin il n'y aucun nouvelle entrée, pourtant j'ai vérifié que le nom de la bdd et le nom de la table que je passe en paramètre sont corrects.
Merci d'avance,
A voir également:
- Probleme connexion Bdd
- Gmail connexion - Guide
- Connexion chromecast - Guide
- Gmail connexion autre compte - Guide
- D'où peut venir un problème de connexion internet sur un ordinateur ? - Guide
- Site inaccessible n'autorise pas la connexion - Guide
4 réponses
Bonjour,
1 - On récupère proprement les variables AVANT de les utiliser.
via l'écriture ternaire et un isset par exemple :
2 - Place l'éxécution de ta requête dans un bloc TRY/Catch
et sépare les datas de l'exécution de la requête afin de pouvoir en faire un ECHO si besoin.
Par exemple :
3 - SI ça ne fonctionne toujours pas ... prends la requete .... remplace les variables par de vraies valeurs ... et teste la DIRECTEMENT dans ta BDD (via phpmyadmin par exemple)
Cordialement,
Jordane
1 - On récupère proprement les variables AVANT de les utiliser.
via l'écriture ternaire et un isset par exemple :
$surname = isset($_POST['surname']) ? $_POST['surname'] : '';
2 - Place l'éxécution de ta requête dans un bloc TRY/Catch
et sépare les datas de l'exécution de la requête afin de pouvoir en faire un ECHO si besoin.
Par exemple :
$sql = "INSERT INTO user VALUES (:surname,:forename,:dob,:address,:email,:num,:username,:pw,'')" $a_datas = array( ':surname' => $surname, ':forename' => $forename, ':dob'=> $dob, ':address' => $address, ':email'=>$email, ':num'=>$num, ':username'=>$username, ':pw'=>$pw); try{ $reponse = $bdd->prepare($sql); $reponse->execute($a_datas); }catch(Exception $e){ echo "<br>Erreur ! " .$e->getMessage(); echo "<br>REQUETE : <br> ".$sql."<br>DATAS: <br>"; print_r($a_datas); }
3 - SI ça ne fonctionne toujours pas ... prends la requete .... remplace les variables par de vraies valeurs ... et teste la DIRECTEMENT dans ta BDD (via phpmyadmin par exemple)
Cordialement,
Jordane
Salut,
Par défaut les erreurs PDO ne sont pas affichées, commence par activer l'affichage du rapport d'erreur PDO comme expliqué ici : https://www.php.net/manual/fr/pdo.error-handling.php
Bonne journée
Par défaut les erreurs PDO ne sont pas affichées, commence par activer l'affichage du rapport d'erreur PDO comme expliqué ici : https://www.php.net/manual/fr/pdo.error-handling.php
Bonne journée
J'ai resolu un de mes probleme,
j'avais oublier inserser la date dans mon insert que j'ai du renommer dob
mais cela ne rempli toujours pas ma bdd, et aucune erreur n'est fourni par
j'avais oublier inserser la date dans mon insert que j'ai du renommer dob
$reponse = $bdd->prepare("INSERT INTO user VALUES (:surname,:forename,:dob,:address,:email,:num,:username,:pw,'')"); $reponse->execute(array( 'surname' => $_POST['surname'], 'forename' => $_POST['forename'], 'dob'=> $_POST['dob'], 'address' => $_POST['address'], 'email'=>$_POST['email'], 'num'=>$_POST['num'], 'username'=>$_POST['username'], 'pw'=>$_POST['pw']));
mais cela ne rempli toujours pas ma bdd, et aucune erreur n'est fourni par
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);