par
Max2000 » 14 nov. 2014, 20:51
Bonjour,
J'ai créée des codes permettant d' enregistrer un membre dans ma base de données avec mot de passe et pseudo.
Néanmoins ce code comporte le défaut d'accepter des logins indentiques.
Ce qui fait que deux membres peuvent avoir deux pseudo identiques même si leurs mots de passe sont différents!
Alors comment faire en sorte qu'il ne soit pas possible d'accepter deux noms identiques?
Voici le fichier complet:
<meta charset="utf-8">
<?php
if(isset($_POST['submit'])) // Si on clique sur le bouton 'submit' on commence à agir comme ci dessous
{
$username = htmlspecialchars(trim($_POST['username'])); // "htmlspecialchars" pour empêcher tous carractères malveillants et "trim" pour empêcher les espaces.
$password = htmlspecialchars(trim($_POST['password']));
$repeatpassword = htmlspecialchars(trim($_POST['repeatpassword']));
echo $_POST['username'];
if($username&&$password&&$repeatpassword) // Si on a complété tous ces champs là, on continue.
{
if(strlen("$username")>=4)
{
if(strlen("$password")>=6)
{
if($password==$repeatpassword)
{
$password = md5($password); // password est crypté en md5
mysql_connect('localhost','root','');
mysql_select_db('phpmembre');
$query = mysql_query("
INSERT INTO users VALUES('','$username','$password')"); // insert dans la table users les valeurs 'id','username', et 'password'
die(' inscription terminée, vous pouvez vous <a href="login.php">connecter</a>');
}else echo "Les mots de passe ne sont pas identiques!";
}else echo "Le mot de passe est trop court!";
}else echo "Le nom d'utilisateur est trop court!";
}else echo "Veuillez saisir tous les champs!";
}
?>
<title>Inscription</title>
<h1>Inscription</h1>
<form method="post" action="register.php">
<p>Votre nom d'utilisateur</p>
<input type="text" name="username"> <!-- username est un nom de variable correspondant à l'attribut name -->
<p>Votre mot de passe</p>
<input type="passeword" name="password">
<p>Répétez votre mot de passe</p>
<input type="passeword" name="repeatpassword"><br><br>
<input type="submit" name="submit" value="Valider"> <!-- Valider est la valeur de l'attibu value -->
</form>
<a href="login.php">Je possède déjà un compte</a>
Sinon à part ça cela fonctionne impeccablement.
Merci d'avance pour votre aide.
[b]Bonjour,
J'ai créée des codes permettant d' enregistrer un membre dans ma base de données avec mot de passe et pseudo.
Néanmoins ce code comporte le défaut d'accepter des logins indentiques.
Ce qui fait que deux membres peuvent avoir deux pseudo identiques même si leurs mots de passe sont différents!
Alors comment faire en sorte qu'il ne soit pas possible d'accepter deux noms identiques?
Voici le fichier complet:[/b]
<meta charset="utf-8">
<?php
if(isset($_POST['submit'])) // Si on clique sur le bouton 'submit' on commence à agir comme ci dessous
{
$username = htmlspecialchars(trim($_POST['username'])); // "htmlspecialchars" pour empêcher tous carractères malveillants et "trim" pour empêcher les espaces.
$password = htmlspecialchars(trim($_POST['password']));
$repeatpassword = htmlspecialchars(trim($_POST['repeatpassword']));
echo $_POST['username'];
if($username&&$password&&$repeatpassword) // Si on a complété tous ces champs là, on continue.
{
if(strlen("$username")>=4)
{
if(strlen("$password")>=6)
{
if($password==$repeatpassword)
{
$password = md5($password); // password est crypté en md5
mysql_connect('localhost','root','');
mysql_select_db('phpmembre');
$query = mysql_query("
INSERT INTO users VALUES('','$username','$password')"); // insert dans la table users les valeurs 'id','username', et 'password'
die(' inscription terminée, vous pouvez vous <a href="login.php">connecter</a>');
}else echo "Les mots de passe ne sont pas identiques!";
}else echo "Le mot de passe est trop court!";
}else echo "Le nom d'utilisateur est trop court!";
}else echo "Veuillez saisir tous les champs!";
}
?>
<title>Inscription</title>
<h1>Inscription</h1>
<form method="post" action="register.php">
<p>Votre nom d'utilisateur</p>
<input type="text" name="username"> <!-- username est un nom de variable correspondant à l'attribut name -->
<p>Votre mot de passe</p>
<input type="passeword" name="password">
<p>Répétez votre mot de passe</p>
<input type="passeword" name="repeatpassword"><br><br>
<input type="submit" name="submit" value="Valider"> <!-- Valider est la valeur de l'attibu value -->
</form>
<a href="login.php">Je possède déjà un compte</a>
[b]Sinon à part ça cela fonctionne impeccablement.
Merci d'avance pour votre aide.[/b]