Page 1 sur 1

inscription avec vérification automatique

Posté : 31 oct. 2005, 15:37
par yuuzhantar
bonjour

sur mon site j'ai fait une page d'inscription avec vérification si le pseudo est pas déjà pris ni l'e-mail aussi

voici le code
ligne 73
<?php
// On commence par récupérer les champs
if(isset($_POST['name'])) $name=$_POST['name'];
else $name="";

if(isset($_POST['pass'])) $pass=$_POST['pass'];
else $pass="";

if(isset($_POST['mail'])) $mail=$_POST['mail'];
else $mail="";


// On vérifie si les champs sont vides
if(empty($name) OR empty($pass) OR empty($mail))
{
echo 'remplir tous les champs';
}
// Aucun champ n'est vide, on peut enregistrer dans la table
else
{
$db = mysql_connect('sql.free.fr', 'xxx', 'xxx'); // connexion à la base
mysql_select_db('yuu_sw',$db); // sélection de la base

// on regarde si l'url existe déjà
$sql = "SELECT user_id FROM a_users WHERE user_mail='$mail'";
$sql2 = "SELECT user_id FROM a_users WHERE user_pseudo='$pseudo'";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
$req2 = mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());

// on compte le nombre de résultats
$res = mysql_num_rows($req);
$res2 = mysql_num_rows($req2);

if($res=0) // l'url existe déjà, on affiche un message d'erreur
{
if($res2=0)
{
$sql3 = "INSERT INTO a_users(user_id, user_pseudo, user_pass,user_mail, user_credits, user_last_session) VALUES('','$pseudo','$pass','$mail','500','')";
mysql_query($sql3) or die('Erreur SQL !'.$sql3.'<br>'.mysql_error());
echo 'compte créé, vous pouvvez maintenant l utiliser';
}
else {
echo 'e-mail déjà pris';
}
}
else {
echo 'pseudo dejà pris';
}
}

mysql_close(); // on ferme la connexion

?>
ligne 125

mais j'ai un problème

a chaque enregistrement, même si le pseudo ni l'e-mail n'est pas déjà pris, il affiche quand même

pseudo déjà pris

ques ce qui va pas ???

merci d'avance

Posté : 31 oct. 2005, 15:40
par Vaedan
Le numéro des lignes ne nous est d'aucune utilité. En effet, tu annonces une erreur ligne 73 alors que ton code ne contient meme pas 73 lignes (dans cette portion) ! Il nous serait utile de connaitre le probleme comme par exemple, l'erreur renvoyée et les lignes x-1, x, x+1 où x est le numéro de la ligne comportant une erreur (73 par exemple).

Posté : 31 oct. 2005, 15:41
par jeff
salut
si tu ne fait pas l'effort de lire les regles du forum, jene vois pas pourquoi on repondrait :evil:

Posté : 31 oct. 2005, 15:50
par DocType
Pour récupérer un champ en php, faut pas juste faire $pseudo !
Le bon fonctionnement est $_POST["pseudo"] ==> la ca rique d'être mieux :wink:
Ensuite, la comparaison en PHP ne se fait (à ma connaissance) pas avec "=" mais plutôt "==" (voir tes ifs)
Corrige tout ça et repasse aprés :wink:
Note: tu le fais pour les autre champs, pkoi pas pour pseudo ? :roll:

Posté : 31 oct. 2005, 16:08
par yuuzhantar
Le numéro des lignes ne nous est d'aucune utilité. En effet, tu annonces une erreur ligne 73 alors que ton code ne contient meme pas 73 lignes (dans cette portion) ! Il nous serait utile de connaitre le probleme comme par exemple, l'erreur renvoyée et les lignes x-1, x, x+1 où x est le numéro de la ligne comportant une erreur (73 par exemple).
je n'ai jamais dis qu'il y avait une erreur ligne 73, je disais juste que le début du code en quote était ligne 73.

Sinon, en effet, je me suis trompé avec $pseudo, je l'ai remplacé par $name, c'est sa qui allait pas.
merci

sujet résolu

Posté : 31 oct. 2005, 16:32
par DocType
Le numéro des lignes ne nous est d'aucune utilité. En effet, tu annonces une erreur ligne 73 alors que ton code ne contient meme pas 73 lignes (dans cette portion) ! Il nous serait utile de connaitre le probleme comme par exemple, l'erreur renvoyée et les lignes x-1, x, x+1 où x est le numéro de la ligne comportant une erreur (73 par exemple).
je n'ai jamais dis qu'il y avait une erreur ligne 73, je disais juste que le début du code en quote était ligne 73.

Sinon, en effet, je me suis trompé avec $pseudo, je l'ai remplacé par $name, c'est sa qui allait pas.
merci

sujet résolu
Dans ce cas là on clique sur "résolu" dans le sujet... :wink: