Problème base de donnée my sql
Fermé
Utilisateur anonyme
-
Modifié par jordane45 le 3/04/2016 à 04:15
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 - 28 avril 2016 à 14:48
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 - 28 avril 2016 à 14:48
A voir également:
- Problème base de donnée my sql
- What is my movie français - Télécharger - Divers TV & Vidéo
- Célia doit nettoyer le tableau ci-dessous pour l’ajouter à la base de données de son entreprise. les données sont ensuite traitées automatiquement. quelles sont les 4 cellules qui risquent de poser problème ? ✓ - Forum Excel
- Formules excel de base - Guide
- Gigaset ne reconnait plus sa base - Forum telephonie fixe
- My canalbox africa login ✓ - Forum Box et Streaming vidéo
3 réponses
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
3 avril 2016 à 04:22
3 avril 2016 à 04:22
Bonjour,
Commence par désactiver la redirection pour pouvoir voir les éventuelles erreurs.
Ensuite, places le code de ta requête dans un bloc TRY/CATCH
Ajoutes également la ligne suivante au début de ton code php
Commence par désactiver la redirection pour pouvoir voir les éventuelles erreurs.
Ensuite, places le code de ta requête dans un bloc TRY/CATCH
try{ $sql = "INSERT INTO membre (pseudo, mail, motdepasse) VALUES(:pseudo, :mail, :motdepasse)"; $variables = array(":pseudo"=>$pseudo,":mail"=>$mail,":mdp"=>$mdp); $insertmbr = $bdd->prepare($sql); $insertmbr->execute($variables); $erreur = "Votre compte a bien été enregistré!"; // header('index.php'); On le desactive durant les tests }catch(Exception as $e){ // En cas de soucis dans la requête echo "<br>Erreur !<br> ".$e->getMessage(); echo "<br>Dans la requête :<br>".$sql; echo "<br> Avec les variables :<br>"; print_r($variables); }
Ajoutes également la ligne suivante au début de ton code php
error_reporting(E_ALL);
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
3 avril 2016 à 21:54
3 avril 2016 à 21:54
Bon...
reprenons tout depuis le début.....
1 - Tu créés un fichier qui contiendra le code de connexion à ta BDD.
Ce fichier, nomme le : cnxBDD.php et tu y mets le code suivant:
Ensuite, dans ton fichier inscription.php tu places le code suivant :
Au passage .. j'ai corigé des erreurs de "placements" de balises html...
et supprimé certains choses superflues.
reprenons tout depuis le début.....
1 - Tu créés un fichier qui contiendra le code de connexion à ta BDD.
Ce fichier, nomme le : cnxBDD.php et tu y mets le code suivant:
<?php //Fichier cnxBDD.php // connexion à la base de données $host = "localhost"; $dbname = "espace_menbre"; $user = "root"; $pwd = "root"; try { $bdd = new PDO("mysql:host=$host;dbname=$dbname", $user, $pwd); } catch (PDOException $e) { echo "<br>".$e."<br>"; printf("%s:%d %s (%d) [%s]\n", $e->getFile(), $e->getLine(), $e->getMessage(), $e->getCode(), get_class($e)); exit('Impossible de se connecter à la base de données.'); } ?>
Ensuite, dans ton fichier inscription.php tu places le code suivant :
<?php //----------------------------------------------// //en cas d'erreurs php: //----------------------------------------------// error_reporting(E_ALL); //----------------------------------------------// //connexion à la BDD //----------------------------------------------// require_once "cnxBDD.php"; //----------------------------------------------// // le temps des tests : //----------------------------------------------// echo "<br>Variables POST =<br>"; echo "<pre>"; print_r($_POST); echo "</pre>"; //----------------------------------------------// //récupération PROPRE des variables : //----------------------------------------------// $pseudo = !empty($_POST['speudo']) ? htmlspecialchars($_POST['speudo']) : NULL; $mail = !empty($_POST['mail']) ? htmlspecialchars($_POST['mail']) : NULL; $mail2 = !empty($_POST['mail2']) ? htmlspecialchars($_POST['mail2']) : NULL; $mdp = !empty($_POST['mdp']) ? sha1($_POST['mdp']) : NULL; $mdp2 = !empty($_POST['mdp2']) ? sha1($_POST['mdp2']) : NULL; //----------------------------------------------// //Traitement du submit : //----------------------------------------------// if(isset($_POST['forminscription'])){ if ($pseudo && $mail && $mail2 && $mdp && $mdp2) { if ($strlen($pseudo) <= 255){ if ($mail == $mail2) { if (filter_var($mail, FILTER_VALIDATE_EMAIL)) { if ($mdp != $mdp2) { $erreur = "le mot de passe ne conrespond pas!"; } }else{ $erreur = "Votre adresse email n'est pas valide!"; } }else{ $erreur = "l'adresse email ne conrespond pas!"; } }else{ $erreur = "Votre pseudo est trop long"; } }else { $erreur = "Tous les champs doivent être conpletés !"; } } //----------------------------------------------// // Fin du code PHP //----------------------------------------------// ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <?php include('title.php'); ?> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <div id="conteneur"> <?php include('titre.php'); ?> <!--debut menu--> <?php include('menu.php'); ?> <!--fin menu--> <!--debut contenue--> <section id="contenu"> <article> <h1>Inscription</h1> <?php if (!empty($erreur)){ echo '<font color="red">'.$erreur."</font>"; } ?> <form method="post" action=""> <fieldset style="margin-right: 20px;"> <center> <label for="speudo">speudo: </label> <input type="speudo" name="speudo" placeholder="Ex: Votre speudo" value="<?php echo $speudo; ?>"/><br><br> <label for="mail">email: </label> <input type="email" name="mail" placeholder="Votre Email" id="mail" value="<?php echo $mail; ?>"/><br><br> <label for="mail2">Confirmation du mail: </label> <input type="email" name="mail2" placeholder="Confirmer votre email:" id="mail2" value="<?php echo $mail2; ?>" /><br><br> <label for="mdp">Mot de passe: </label> <input type="password" name="mdp" placeholder="Votre mot de passe:" id="mdp" /><br><br> <label for="mdp2">Confirmation du mot de passe: </label> <input type="password" name="mdp2" placeholder="Confirmer votre mot de passe:" id="mdp2" /><br><br> <input type="submit" name="forminscription" value="m'inscrire"/><br> </center> </fieldset> </form> </article> </section> <!--fin contenue--> <!-- debut aside --> <?php include('sidebar.php'); ?> </div> <!-- Fin DIV conteneur --> </body> </html>
Au passage .. j'ai corigé des erreurs de "placements" de balises html...
et supprimé certains choses superflues.
merci mais quand je souhaite allez sur la page inscription.php sa me dit ceci
PDOException: SQLSTATE[HY000] [1049] Unknown database 'espace_menbre' in /Applications/MAMP/htdocs/cnxBDD.php:9 Stack trace: #0 /Applications/MAMP/htdocs/cnxBDD.php(9): PDO->__construct('mysql:host=loca...', 'root', 'root') #1 /Applications/MAMP/htdocs/inscription.php(10): require_once('/Applications/M...') #2 {main}
/Applications/MAMP/htdocs/cnxBDD.php:9 SQLSTATE[HY000] [1049] Unknown database 'espace_menbre' (1049) [PDOException] Impossible de se connecter à la base de données.
PDOException: SQLSTATE[HY000] [1049] Unknown database 'espace_menbre' in /Applications/MAMP/htdocs/cnxBDD.php:9 Stack trace: #0 /Applications/MAMP/htdocs/cnxBDD.php(9): PDO->__construct('mysql:host=loca...', 'root', 'root') #1 /Applications/MAMP/htdocs/inscription.php(10): require_once('/Applications/M...') #2 {main}
/Applications/MAMP/htdocs/cnxBDD.php:9 SQLSTATE[HY000] [1049] Unknown database 'espace_menbre' (1049) [PDOException] Impossible de se connecter à la base de données.
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
27 avril 2016 à 08:48
27 avril 2016 à 08:48
Tu peux vérifier le nom de ta bdd ?
Et nous montrer Une capture d'écran de ton phpmyadmin par exemple. ..
Et nous montrer Une capture d'écran de ton phpmyadmin par exemple. ..
Utilisateur anonyme
27 avril 2016 à 08:58
27 avril 2016 à 08:58
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
>
Utilisateur anonyme
27 avril 2016 à 09:54
27 avril 2016 à 09:54
Et as tu mis des valeurs dans tes champs ?
Car là ... ça t'affiche ce que ton formulaire envoie au serveur.....
Si tu n'as rien rempli .. c'est normal que l'array ne contienne rien.
Car là ... ça t'affiche ce que ton formulaire envoie au serveur.....
Si tu n'as rien rempli .. c'est normal que l'array ne contienne rien.
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
27 avril 2016 à 09:55
27 avril 2016 à 09:55
Et pour info .. c'est lié à ce bout de code que je t'ai rajouté (comme l'indique le commentaire.....) le temps des tests :
//----------------------------------------------// // le temps des tests : //----------------------------------------------// echo "<br>Variables POST =<br>"; echo "<pre>"; print_r($_POST); echo "</pre>";
3 avril 2016 à 15:00
3 avril 2016 à 15:45
Quelle est l'URL présente dans ton navigateur lorsque tu affiches cette page ?
3 avril 2016 à 16:26
3 avril 2016 à 17:44
3 avril 2016 à 17:54