Problème d'inscription
oakthunder Messages postés 29 Date d'inscription Statut Membre Dernière intervention -
J'ai créé un site chez x10hosting, mais j'ai un problème sur la page d'inscription que je n'avais pas chez infinityfree sur mon ancien site. Une fois qu'on clique sur le bouton d'inscription le formulaire disparaît et la page reste vierge alors quelle devrait afficher un message qui indique que le compte a été créé ou si il y a eu une erreur. J'ai vérifié les identifiants, le mot de passe, le nom de de la bdd tout est correct. Voici le code des deux fichiers : register.php
<!DOCTYPE html> <html> <head> <title>Inscription</title> <link rel="stylesheet" href="style.css" /> </head> <body> <?php require('config.php'); if (isset($_REQUEST['username'], $_REQUEST['email'], $_REQUEST['password'], $_REQUEST['prenom'], $_REQUEST['nom'])){ // récupérer le nom d'utilisateur et supprimer les antislashes ajoutés par le formulaire $username = stripslashes($_REQUEST['username']); $username = mysqli_real_escape_string($conn, $username); // récupérer l'email et supprimer les antislashes ajoutés par le formulaire $email = stripslashes($_REQUEST['email']); $email = mysqli_real_escape_string($conn, $email); // récupérer le mot de passe et supprimer les antislashes ajoutés par le formulaire $password = stripslashes($_REQUEST['password']); $password = mysqli_real_escape_string($conn, $password); // récupérer le prenom et supprimer les antislashes ajoutés par le formulaire $prenom = stripslashes($_REQUEST['prenom']); $prenom = mysqli_real_escape_string($conn, $prenom); // récupérer le nom et supprimer les antislashes ajoutés par le formulaire $nom = stripslashes($_REQUEST['nom']); $nom = mysqli_real_escape_string($conn, $nom); //requéte SQL + mot de passe crypté $query = "INSERT into `users` (username, email, prenom, nom, password) VALUES ('$username', '$email', '$prenom', '$nom', '".hash('sha256', $password)."')"; // Exécute la requête sur la base de données $res = mysqli_query($conn, $query); if($res){ echo "<div class='sucess'> <h3>Vous êtes inscrit avec succès.</h3> <p>Cliquez ici pour vous <a href='login.php'>connecter</a></p> </div>"; } } else { ?> <form class="box" action="" method="post"> <h1 class="box-title box-logo"><a href="https://monsite.com">monsite.com</a></h1> <h1 class="box-title">Inscription</h1> <h1 class="box-title">Veuillez entrer votre vrai prénom et votre vrai nom, sinon votre compte sera supprimé !!!</h1> <h1 class="box-title">Liste des pseudos existants, veuillez choisir un pseudo qui n'apparait pas dans cette la liste.</h1> <?php $host = 'hote'; $dbname = 'nom de la bdd'; $username = 'username'; $password = 'mon mdp'; try { // se connecter à mysql $pdo = new PDO("mysql:host=$host;dbname=$dbname","$username","$password"); } catch (PDOException $exc) { echo $exc->getMessage(); exit(); } $req = $pdo->query("SELECT * FROM users"); while($msg = $req->fetch()){ ?> <p align="center"><font color="#003cff"><b><?php echo $msg["username"] ?></font></p> <?php } ?> <input type="text" class="box-input" name="username" placeholder="Nom d'utilisateur" required /> <input type="text" class="box-input" name="prenom" placeholder="Prénom" required /> <input type="text" class="box-input" name="nom" placeholder="Nom de famille" required /> <input type="text" class="box-input" name="email" placeholder="Email" required /> <p><input type="password" class="box-input" id="password" name="password" placeholder="Mot de passe" required /> <input type="checkbox" onclick="Afficher()"> Afficher le mot de passe</button></p> <script> function Afficher() { var input = document.getElementById("password"); if (input.type === "password") { input.type = "text"; } else { input.type = "password"; } } </script> <input type="submit" name="submit" value="S'inscrire" class="box-button" /> <p class="box-register">Déjà inscrit ? <a href="login.php">Connectez-vous ici</a></p> </form> <?php } ?> </body> </html>
config.php
<?php // Informations d'identification define('DB_SERVER', 'hote'); define('DB_USERNAME', 'ussername'); define('DB_PASSWORD', 'mon mdp'); define('DB_NAME', 'nom de la bdd'); // Connexion а la base de donnйes MySQL $conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME); // Vйrifier la connexion if($conn === false){ die("ERREUR : Impossible de se connecter. " . mysqli_connect_error()); } ?>
- Problème d'inscription
- Wetransfer gratuit sans inscription - Guide
- Twitter inscription - Guide
- Vinted inscription - Guide
- Paypal inscription - Guide
- Instagram inscription - Guide
4 réponses
bonjour,
tu n'as aucun "else" correspondant au "if($res)": tu n'auras donc, je pense, rien d'affiché pour cette situation.
J'ai rajouté un else echo "erreur" et une fois qu'on appuie sur le bouton erreur s'affiche mais je ne comprends pas pourquoi.
Pour comprendre ce qui se passe, il est utile d'afficher (au moins provisoirement) ce que contient la variable $query, et, surtout, ce que retourne la fonction mysqli_error(), décrite ici: https://www.php.net/manual/fr/mysqli.error.php