A voir également:
- Multi pseudo
- Pseudo facebook - Guide
- Pseudo whatsapp - Accueil - Messagerie instantanée
- Retrouver son compte epic games avec son pseudo - Forum Jeux vidéo
- A défini votre pseudo sur - Forum Facebook Messenger
- Caractère invisible pour pseudo ✓ - Forum Windows
7 réponses
jordane45
Messages postés
38370
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
5 janvier 2025
4 722
13 janv. 2022 à 10:50
13 janv. 2022 à 10:50
Bonjour
Ta question est bien trop vague... Nous ne savons pas ce que tu as commencé à faire .. sur quel point précis tu bloques...
A minima, il faut se connecter à la bdd en pdo ou mysqli
Puis faire une requête dy type SELECT WHERE
Ta question est bien trop vague... Nous ne savons pas ce que tu as commencé à faire .. sur quel point précis tu bloques...
A minima, il faut se connecter à la bdd en pdo ou mysqli
Puis faire une requête dy type SELECT WHERE
Si vous voulez, le script complet est :
<!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'])){
// 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);
//requéte SQL + mot de passe crypté
$query = "INSERT into `users` (username, email, password)
VALUES ('$username', '$email', '".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://oakthunder.ddns.net/"></a></h1>
<h1 class="box-title">S'inscrire</h1>
<input type="text" class="box-input" name="username" placeholder="Nom d'utilisateur" required />
<input type="text" class="box-input" name="email" placeholder="Email" required />
<input type="password" class="box-input" name="password" placeholder="Mot de passe" required />
<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>
et config.php :
<?php
// Informations d'identification
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', 'mon mdp');
define('DB_NAME', 'registration');
// 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());
}
?>
<!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'])){
// 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);
//requéte SQL + mot de passe crypté
$query = "INSERT into `users` (username, email, password)
VALUES ('$username', '$email', '".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://oakthunder.ddns.net/"></a></h1>
<h1 class="box-title">S'inscrire</h1>
<input type="text" class="box-input" name="username" placeholder="Nom d'utilisateur" required />
<input type="text" class="box-input" name="email" placeholder="Email" required />
<input type="password" class="box-input" name="password" placeholder="Mot de passe" required />
<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>
et config.php :
<?php
// Informations d'identification
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', 'mon mdp');
define('DB_NAME', 'registration');
// 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());
}
?>
jordane45
Messages postés
38370
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
5 janvier 2025
4 722
13 janv. 2022 à 19:14
13 janv. 2022 à 19:14
A l'avenir, merci d'utiliser les BALISES DE CODE pour poster ton code sur le forum.
Explications ( à lire entièrement !! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite... et bien.. as tu lu ma réponse ?
As tu essayé ?
Explications ( à lire entièrement !! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite... et bien.. as tu lu ma réponse ?
As tu essayé ?
J'ai déjà une connexion mysqli (config.php), j'aimerrai savoir comment utiliser SELECT WHERE.
jordane45
Messages postés
38370
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
5 janvier 2025
4 722
14 janv. 2022 à 13:21
14 janv. 2022 à 13:21
De la même façon que pour ton insert.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je vois deux possibilités simples :
- ne pas autoriser les doublons pour le champ "pseudo" ; et dans ce cas, l'INSERT renverra une erreur qui pourra indiquer que le pseudo existe déjà ;
- avant de faire l'INSERT, tu fais un
SELECT id FROM utilisateurs WHERE pseudo=" $pseudo " ;
si cette requète renvoi un résultat, tu réaffiche le formulaire en précisant que le pseudo est déjà utilisé.
- ne pas autoriser les doublons pour le champ "pseudo" ; et dans ce cas, l'INSERT renverra une erreur qui pourra indiquer que le pseudo existe déjà ;
- avant de faire l'INSERT, tu fais un
SELECT id FROM utilisateurs WHERE pseudo=" $pseudo " ;
si cette requète renvoi un résultat, tu réaffiche le formulaire en précisant que le pseudo est déjà utilisé.
Pouvez-vous me montrer un script complet.
Merci !!!
Merci !!!
Ce que je fais habituellement, c'est que le fichier PHP qui affiche le formulaire se rappelle lui-même, pour faire les contrôles avant d'afficher quoi que ce soit, et s'il est validé, je change de page :
Il y a aussi des techniques pour vérifier la validation avant de terminer le formulaire, mais ça demande l'exécution de javascript ou autre code côté navigateur, plus "hasardeux".
form.php :
<?php
if ( tous les tests pour valider ) {
header("Location:page_apres_validation.php");
}
?>
<html>
... tous le code HTML y compris le formulaire
</html>
Il y a aussi des techniques pour vérifier la validation avant de terminer le formulaire, mais ça demande l'exécution de javascript ou autre code côté navigateur, plus "hasardeux".