Comment faire pour empêcher la duplication des noms d'utilisateur quand les gens vous inscrire? PHP/MySQL
J'ai été faire un login/s'inscrire au système et je suis de dessin près de finir mon registre portion de code. Le seul problème que je suis en cours d'exécution, c'est comment faire en sorte que les utilisateurs ne peuvent pas s'inscrire ayant les mêmes noms d'utilisateur. Je le veux de ma base de données habitude d'accepter l'information, et il va dire à l'utilisateur sur l'erreur. Toute aide est appréciée.
Mon PHP
<?php
include ('database_connection.php');
if (isset($_POST['formsubmitted'])) {
$error = array();//Declare An Array to store any error message
if (empty($_POST['name'])) {//if no name has been supplied
$error[] = 'Please Enter a name ';//add to array "error"
} else {
$name = $_POST['name'];//else assign it a variable
}
if (empty($_POST['e-mail'])) {
$error[] = 'Please Enter your Email ';
} else {
if (preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $_POST['e-mail'])) {
//regular expression for email validation
$Email = $_POST['e-mail'];
} else {
$error[] = 'Your EMail Address is invalid ';
}
}
if (empty($_POST['Password'])) {
$error[] = 'Please Enter Your Password ';
} else {
$Password = $_POST['Password'];
}
if (empty($error)) //send to Database if there's no error '
OriginalL'auteur Zippylicious | 2013-07-19
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire comme ceci lorsque l'utilisateur de poster le nom d'utilisateur par exemple et cliquez sur soumettre, vous pouvez écrire au présent code ou de l'ajouter à votre code avec votre modification :
merci beaucoup pour les rep +pour moi, et je suis heureux que cette réponse a travaillé pour vous, j'ai juste envie de vous dire quelque chose, lorsque vous créez la colonne de l'utilisateur, vous pouvez le rendre unique, par exemple créer une table des utilisateurs(nom d'utilisateur de type varchar(350) not null unique), bonne chance 🙂
OriginalL'auteur Walid Naceri
Je pense que quelque chose comme cela, c'est ce que vous cherchez:
OriginalL'auteur Wasabi
Il y a deux choses que vous devriez faire.
Faire le nom d'utilisateur d'une clé primaire dans la table de base de données. Cela se fait facilement à l'aide de phpmyadmin.
Valider avant de les insérer.
Pour la deuxième étape, voici un algorithme. Vous pouvez la mettre en œuvre dans votre propre manière, en utilisant pdo, mysqli ou encore mysql (bien qu'il n'est pas recommandé de maintenant).
Algorithme à la fin de votre code (c'est à dire, si il n'y a pas d'erreurs)...
Espère que ça aide.
OriginalL'auteur itsols
J'ai utilisé un AOP et de la méthode de classe, peut être de quelque utilité.
note les déclarations préparées trop, certainement la voie à suivre
OriginalL'auteur null
vous pouvez le faire comme ceci :
Espère que ça aide.
OriginalL'auteur jey batosay
Vous avez (peut) faire état qui interdit l'enregistrement si le nom d'utilisateur existe déjà.
OriginalL'auteur natttan