oakthunder
-
Modifié le 10 juil. 2022 à 13:24
oakthunder
Messages postés29Date d'inscriptiondimanche 10 juillet 2022StatutMembreDernière intervention16 juillet 2024
-
15 juil. 2022 à 08:23
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><?phprequire('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'identificationdefine('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 connexionif($conn=== false){die("ERREUR : Impossible de se connecter. ".mysqli_connect_error());}?>
oakthunder
Messages postés29Date d'inscriptiondimanche 10 juillet 2022StatutMembreDernière intervention16 juillet 20241 11 juil. 2022 à 08:19
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.
yg_be
Messages postés23476Date d'inscriptionlundi 9 juin 2008StatutContributeurDernière intervention20 février 20251 568 11 juil. 2022 à 09:03
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
oakthunder
Messages postés29Date d'inscriptiondimanche 10 juillet 2022StatutMembreDernière intervention16 juillet 20241
>
yg_be
Messages postés23476Date d'inscriptionlundi 9 juin 2008StatutContributeurDernière intervention20 février 2025 15 juil. 2022 à 08:23
oakthunder
Messages postés29Date d'inscriptiondimanche 10 juillet 2022StatutMembreDernière intervention16 juillet 20241 11 juil. 2022 à 12:56
J'ai partie pdo car c'était plus rapide à coder.
jordane45
Messages postés38429Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention19 février 20254 735 Modifié le 11 juil. 2022 à 13:34
oui.. mais soit tu fais tout le code en PDO .. soit en MYSQLI .. mais pas les deux...