Formulaire inscription php mysql
pinkpooky88
-
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai vraiment besoin de votre aide.
j'ai un souci avec mon code pour s'inscrire
aucun problème pour s'identifier, mais quand je veux tester la partie s'enregistrer, j'ai cette ligne de code:
Erreur : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '" )' at line 1
j'ai vraiment besoin d'aide, car la je craque, je vois vraiment pas ou est la faute
j'ai vraiment besoin de votre aide.
j'ai un souci avec mon code pour s'inscrire
<?php /*Programme: Login.php Description: Programme de login pour la section à accès réservé de la boutique. Il propose 2 options: s'identifier créer un nouveau compte.*/ session_start(); include("inf.php");//on définit la base de données, identifiant switch (@$_POST['do']) { case "login": $cxn=mysql_connect(SERVER,LOGIN,MDP) or die ('Erreur : '.mysql_error()); mysql_select_db(BDD,$cxn) or die ('Erreur : '.mysql_error()); $sql="SELECT loginName FROM member WHERE loginName='".mysql_real_escape_string($_POST[fusername])."' AND password='".mysql_real_escape_string($_POST[fpassword])."'"; $result=mysql_query($sql,$cxn) or die ('Erreur : '.mysql_error()); $num=mysql_num_rows($result); if($num>0) // mot de passe OK { $_SESSION['auth']="yes"; $logname=$_POST['fusername']; $_SESSION['logname']=$logname; $today=date("y-m-d h:i:s"); $sql="INSERT INTO Login(loginName,loginTime) VALUES ('$logname', '$today')"; $result=mysql_query($sql,$cxn) or die ('Erreur : '.mysql_error()); header("Location: Nouveau_membre.php"); } else // mot de passe incorrect { $message="Le nom de Login '$_POST[fusername]' existe, mais le mot de passe ne correspond pas! Réessayez.<br>"; include("login_form.inc"); } if($num==0)//Nom de longin introuvable { $message="Le nom de Login que vous avez saisi n'existe pas. Essayez une nouvelle fois.<br>"; include("login_form.inc"); } mysql_close(); break; case"news": /*Recherche de champs vides.*/ foreach ($_POST as $field=>$value) { if($field!="fax") { if($value=="") { $blanks[]=$field; } } } if(isset($blanks)) { $message_new="Champs non saisis. Veuillez les renseigner:"; foreach($blanks as $value) { $message_new.="$value,"; } extract($_POST); include("login_form.inc"); exit(); } /*Validation des données*/ foreach($_POST as $field=>$value) { if(!empty($value)) { if(ereg("name",$field) and !ereg("login",$field)) { if(!ereg("^[A-Za-z' -] {1,50} $",$value)) { $errors[]="$value. n'est pas un nom valide."; } } if(ereg("street",$field) or ereg("addr",$field) or ereg("city",$field)) { if(!ereg("^[A-Za-z0-9., '-]{1,50}$",$value)) { $errors[]="$value est incorrect."; } } if(ereg("state",$field)) { if(!ereg("[A-Za-z]{2}",$value)) { $errors[]="$value est refusée pour state."; } } if(ereg("email",$field)) { if(!ereg("^.+@.+\\..+$" ,$value)) { $errors[]="$value est refusé comme email."; } } if(ereg("zip",$field)) { if(!ereg("^[0-9]{5,5}(\-[0-9]{4,4})?$",$value)) { $errors[]="$value n'est pas un zipcode autorisé."; } } }//fin de if empty }//fin de foreach if(@is_array($errors)) { $message_new=""; foreach($errors as $value) { $message_new.=$value."Réessayez.<br/>"; } extract($_POST); include("login_form.inc"); exit(); } /*Nettoyage des données*/ $cxn=mysql_connect(SERVER,LOGIN,MDP); mysql_select_db(BDD,$cxn) or die ('Erreur : '.mysql_error()); foreach($_POST as $field =>$value) { if($field !="Button" and $field !="do") { if($field=="password") { $password=strip_tags(trim($value)); } else { $fields[]=$field; $value=strip_tags(trim($value)); $values[]=mysql_real_escape_string($value,$cxn); $field=$value; } } } /*Le nom de login existe-t-il déjà?*/ $sql="SELECT loginName FROM member WHERE loginName"; $result=mysql_query($sql,$cxn) or die ('Erreur : '.mysql_error()."<br /> Requête : $sql"); $num=mysql_num_rows($result); if($num>0) { $message_new="$loginName existe déjà. Choisissez-en un autre."; include("login_form.inc"); exit(); } /*Ajout du nouveau membre dans la base.*/ else { $today=date("Y-m-d"); $fields_str=implode(",",$fields); $values_str=implode(",",$values); $fields_str .=",createDate"; $values_str .='"'.",".'"'.$today; $fields_str .=",password"; $values_str .='"'.","."md5"."(".$password.")"; $sql="INSERT INTO member "; $sql .="(".$fields_str .")"; $sql .="VALUES"; $sql .="(".'"'.$value_str . ")"; $result=mysql_query($sql,$cxn) or die ('Erreur : '.mysql_error()); $_SESSION['auth']="yes"; $_SESSION['logname']=$loginName; /*Envoyer un emai au nouveau membre*/ $emess="Un nouveau compte de membre vient d'être créé."; $emess .="Votre identifiant et votre mot de passe sont:"; $emess .="\n\n\t$loginName\n\t$password\n\n"; $emess .="Nous apprécions l'intérêt que vous portez à notre librairie.\n\n"; $emess .="Si vous avez des questions à poser, vous pouvez envoyer,"; $emess .="un e-mail à contact@honyamanga.fr";//adresse a changer ou modifier $ehead="From: member-desk@honyamanga.fr\r\n";// adresse a changer $subj="Votre nouveau compte à la librairie."; $mailsnd=mail("$email","$subj","$emess","$ehead"); header("Location: Nouveau_membre.php"); } break; default: include("login_form.inc"); } ?>
aucun problème pour s'identifier, mais quand je veux tester la partie s'enregistrer, j'ai cette ligne de code:
Erreur : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '" )' at line 1
j'ai vraiment besoin d'aide, car la je craque, je vois vraiment pas ou est la faute
A voir également:
- Formulaire inscription php mysql
- Whatsapp formulaire opposition - Guide
- Wetransfer gratuit sans inscription - Guide
- Formulaire de réclamation facebook - Guide
- Twitter inscription - Guide
- Vinted inscription - Guide
Pour le
$sql="SELECT loginName FROM member WHERE loginName";
j'avais effectivement oublié le ='$loginName'
Je n'ai plus l'erreur de synthax maintenant
mais celle ci
Erreur : Column count doesn't match value count at row 1
c'est une erreur de de nombre de variable, non?
En effet, j'avais oublié un s à $values_str.
revoici le code
et cette fois, j'ai cette erreur
Erreur : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"loginName,firstName,lastName,street,city,zip,phone,fax,email,createDate,passwor' at line 1