login et email unique

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : login et email unique

par Rei Itchido » 19 oct. 2005, 01:27

$sql = 'SELECT login,email, FROM members'; 
La virgule après email est de trop.
Sinon si tu es connecté à la BD, ça devrait fonctionner (même si tu pourrais faire plus simple comme requête que de passer en revue tous les enregistrements).

$sql = mysql_query('SELECT COUNT(login) FROM members WHERE login='.$login.' AND email='.$email.'');
$nb = mysql_result($sql, 0);
$nb va te renvoyer le nombre d'enregistrements qui ont $login comme login et $email comme email.
Je te laisse faire le test derrière ;)

par gimpycpu » 19 oct. 2005, 01:13

re bonjour :p
ah ok merci je savais pas ca les cote php merci :) tk
ok donc mes () sont pas correct et pour demandé un request dinformation a la db ca a lair correcte?

Merci
$sql = 'SELECT login,email, FROM members'; 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
while($data = mysql_fetch_assoc($req)) 
{ 
if ($data['login'] == $login )
{ 
die('This login has been already taken') 
} 
elseif ($data['email'] == $email) 
{ 
die('This email is already associated to an account') 
} 
else 
{ 
mysql_query("INSERT INTO members(id,name,lastname,login,password,email,egoldaccount) VALUES('','$name','$lastname','$login','$mdpassword','$email','$egoldaccount')"); 
} 
mysql_close(); 

par Rei Itchido » 19 oct. 2005, 01:08

et il y a des balise php ce nest qune parti du script ;)
Je parlais pour que ton message là, sur le forum, soit lisible...regarde les balises au dessus si tu reponds à mon message par exemple. Edites ton 1er message en mettant ton code entre des balises PHP ça le rendra plus facile à lire

Concernant le problème en lui-même, la syntaxe pour un if est if()
Même chose pour elseif.
Tu as donc oublié les parenthèses.

par gimpycpu » 19 oct. 2005, 01:05

re bonjour
oui il y a une erreur
Parse error: parse error, unexpected T_VARIABLE, expecting '(' in d:\program files\easyphp1-8\www\verif.php on line 19 la ligne 19 cest

if $data['login'] == $login

merci encore
et il y a des balise php ce nest qune parti du script ;)

par Rei Itchido » 19 oct. 2005, 01:01

Utilises les balises PHP (les balises au-dessus de ton message) ça sera plus lisible ;)

Y a-t-il un message d'erreur?
Qu'est-ce qui ne fonctionne pas au juste?

login et email unique

par gimpycpu » 19 oct. 2005, 00:55

Bonjour,
Je suis nouveau en php et je desire avec mon script creer un login donc jai dans ma base sql un field login,pass,email,etc

donc mon script de creation marche mais je desire que un utilisateur ne peu se creer un account avec le meme email et login.

$sql = 'SELECT login,email, FROM members';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
{
if $data['login'] == $login
{
die('This login has been already taken')
}
elseif $data['email'] == $email
{
die('This email is already associated to an account')
}
else
{
mysql_query("INSERT INTO members(id,name,lastname,login,password,email,egoldaccount) VALUES('','$name','$lastname','$login','$mdpassword','$email','$egoldaccount')");
}
mysql_close();

donc je voulais savoir ou est lerreur merci a lavance de votre aide