Je n'arrive pas à connecter ma page php à ma base de donné
Résolu
dannezri
Messages postés
52
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 -
Bonjour,
J'ai ma page d'inscription (avec le code ci dessous), et quand je l'ouvre avec mon navigateur il y a une page blanche (ça veut dire qu'il y a une erreur dans ma page (a la ligne 4 précisément)) et d'autre part la page n'est pas connecte a ma base de donné et je ne sais pas comment dois je faire pour la connecter.
Merci
J'ai ma page d'inscription (avec le code ci dessous), et quand je l'ouvre avec mon navigateur il y a une page blanche (ça veut dire qu'il y a une erreur dans ma page (a la ligne 4 précisément)) et d'autre part la page n'est pas connecte a ma base de donné et je ne sais pas comment dois je faire pour la connecter.
<?php try { $bdd = new PDO('mysql:host=localhost;dbname=espace_membres;charset=utf8', 'root', 'root', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING)); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } if(isset($_POST['forminscription'])) { $pseudo = htmlspecialchars($_POST['pseudo']); $mail = htmlspecialchars($_POST['mail']); $mail2 = htmlspecialchars($_POST['mail2']); if(!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['mdp']) AND !empty($_POST['mdp2'])) { $pseudolenght = strlen($pseudo); if($pseudolenght <= 255) { if($mail == $mail2) { if(filter_var($mail, FILTER_VALIDATE_EMAIL )) { if($mdp == $mdp2) { mysql_connect('localhost','root',''); mysql_select_db('espace_membres'); $query = mysql_query(" INSERT INTO membres VALUES ('','$pseudo,$mail,$motdepasse') "); } else { $erreur = "Vos mots de passes ne correspondent pas"; } } else { $erreur = "Votre adresse mail n'est pas valide"; } } else { $erreur = "Vos adresses mail ne correspondent pas"; } } else { $erreur = "Votre pseudo ne doit pas dépasser 255 caractères "; } } else { $erreur = "Tous les champs doivent être complétés "; } } ?> <html> <head> <title>Inscription</title> </head> <body> <div align="center"> <h2>Inscription</h2> <br /><br /> <form method="POST" action=""> <table> <tr> <td align="right"> <label for="Pseudo">Pseudo :</label> </td> <td> <input type="text" placeholder="Votre pseudo" id="pseudo" name="pseudo" value="<?php if(isset($pseudo)) {echo $pseudo;} ?> "/> </td> </tr> </table> <table> <tr> <td align="right"> <label for="Mail">Mail :</label> </td> <td> <input type="email" placeholder="Votre mail" id="mail" name="mail" value="<?php if(isset($mail)) {echo $mail;}?> "/> </td> </tr> </table> <table> <tr> <td align="right"> <label for="mail2">Confirmation du mail :</label> </td> <td> <input type="email" placeholder="Confirmer votre mail" id="mail2" name="mail2" "<?php if(isset($mail)) {echo $mail2;}?> "/> </td> </tr> </table> <table> <tr> <td align="right"> <label for="mdp">Mot de passe :</label> </td> <td> <input type="password" placeholder="Votre mot de passe" id="mdp" name="mdp" /> </td> </tr> </table> <table> <tr> <td align="right"> <label for="mdp2">Confirmation du mot de passe :</label> </td> <td> <input type="password" placeholder="Confirmer votre mot de passe" id="mdp2" name="mdp2" /> </td> </tr> <tr> <td></td> <td> <br /> <input type="submit" name="forminscription" value="Je m'inscris" /> </td> </tr> </table> </form> <?php if(isset($erreur)) { echo $erreur; } ?> </div> </body> </html>
Merci
A voir également:
- Je n'arrive pas à connecter ma page php à ma base de donné
- Se connecter à gmail sur téléphone - Guide
- Se connecter à ma boite hotmail - Guide
- Comment connecter chromecast à la télé - Guide
- Impossible de supprimer une page word - Guide
- Base de registre - Guide
3 réponses
As-tu regardé le fichier error.log d'Apache ?
Quel est le message d'erreur ?
Le mot de passe de "root" est "root" ou "" ?
Quel est le message d'erreur ?
Le mot de passe de "root" est "root" ou "" ?
Essayes ça :
Ensuite, dans ton code tu pourras inclure la connexion
en utilisant un REQUIRE
Cordialement,
Jordane
<?php //---------------------------------------------------------------------// //Connexion à la BDD // (A mettre dans un fichier à part nommé par exemple : cnxBDD.php) //---------------------------------------------------------------------// $host = "localhost"; $dbname = "espace_membres"; $user = "root"; $pwd = "root"; try{ $options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING); $bdd = new PDO("mysql:host=".$host.";dbname=".$dbname.";charset=utf8", $user, $pwd ,$options); }catch (Exception $e){ echo '<br>Erreur : ' . $e->getMessage(); exit(); }
Ensuite, dans ton code tu pourras inclure la connexion
en utilisant un REQUIRE
<?php //--------------------------------------// // Pour afficher les erreurs PHP //--------------------------------------// error_reporting(E_ALL); //--------------------------------------// //On importe la connexion à la BDD //--------------------------------------// require_once 'cnxBDD.php'; //--------------------------------------// //Récupération "propre" des variables // AVANT de les utiliser : //--------------------------------------// $pseudo = !empty($_POST['pseudo']) ? htmlspecialchars($_POST['pseudo']) : NULL ; $mdp = !empty($_POST['mdp']) ? htmlspecialchars($_POST['mdp']) : NULL ; $mdp2 = !empty($_POST['mdp2']) ? htmlspecialchars($_POST['mdp2']) : NULL ; $mail = !empty($_POST['mail']) ? htmlspecialchars($_POST['mail']) : NULL ; $mail2 = !empty($_POST['mail2']) ? htmlspecialchars($_POST['mail2']) : NULL ; //--------------------------------------// // Traitement du submit : //--------------------------------------// if(isset($_POST['forminscription'])) { if( $pseudo && $mdp && $mdp2 && $mail && $mail2){ $pseudolenght = strlen($pseudo); if($pseudolenght <= 255) { if($mail == $mail2) { if(filter_var($mail, FILTER_VALIDATE_EMAIL )) { if($mdp == $mdp2) { try{ $sql = "INSERT INTO membres (pseudo,mail,motdepasse) VALUES (:pseudo,:mail,:motdepasse)"; $params = array(":pseudo"=>$pseudo,":mail"=>$mail,":motdepasse"=>$mdp); $prepare = $bdd->prepare($sql); $prepare->execute($params); }catch(Exception $e) { echo "<pre><br>".$e->getMessage()."<br>"; echo "</pre>"; exit; } } else { $erreur = "Vos mots de passes ne correspondent pas"; } } else { $erreur = "Votre adresse mail n'est pas valide"; } } else { $erreur = "Vos adresses mail ne correspondent pas"; } }else{ $erreur = "Votre pseudo ne doit pas dépasser 255 caractères "; } }else{ $erreur = "Tous les champs doivent être complétés "; } } //--------------------------------------// ?>
Cordialement,
Jordane
C'est bon ca marche. Merci beaucoup mais comme tu as l'air bon de le domaine du php je vais un peu abuser de toi avec une autre question. J'ai un site qui est hébergé chez free mais la le problème c'est que je travail avec ma base de donné en local, c'est a dire que quelqu'un d'extérieur a mon réseau ne peut pas s'inscrire alors comment dois je faire pour que quand je vais mettre ma page d'inscription sur mon site (heberge par free) les gens puisse s'inscrire et pour que moi je reçoivent les infos sur ma base de donnée.
Merci d'avance
Merci d'avance
Le mdp est root.
Merci de ton aide