Problème d'insertion dans la base
Résolumarwamrewa Messages postés 175 Statut Membre -
est ce que vous pouvez vérifier avec moi le code et merci d'avance :)
<?php
include("inc/config.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Inscription</title>
</head>
<body>
<style>
.erreurf{
font-size:20px; color:#FFFFFF; background-color:#C6C; position:;}</style>
<center>
<form name="form" action="" method="POST">
<div class="inputOuter">
<p><label class="input_tag" for="firstName" >First Name <em>*</em></label>
</p>
<input id="firstName" type="text" name="firstName" value="<?php if(isset($_POST['firstName']))echo $_POST['firstName'];?>" placeholder="John">
</div>
<div class="inputOuter">
<p>
<label class="input_tag" for="secondName">Second Name <em>*</em></label>
</p>
<input id="secondName" type="text" name="secondName" value="<?php if(isset($_POST['secondName']))echo $_POST['secondName'];?>" placeholder="Smith">
</div>
<div class="inputOuter">
<p>
<label class="input_tag" for="civilite">civility </label></p>
<select id="civilite" name="civilite" class="default" tabindex="1" value="<?php if(isset($_POST['civilite']))echo $_POST['civilite'];?>">
<option value="defaut">-- Your Civility --</option>
<option value="sometext1">Mr.</option>
<option value="sometext2">Mrs.</option>
<option value="sometext2">Miss</option>
</select>
</div>
<div class="inputOuter">
<p>
<label class="input_tag" for="email">Your E-Mail <em>*</em></label>
</p>
<input id="email" type="text" name="email" value="<?php if(isset($_POST['email']))echo $_POST['email'];?>" placeholder="example@example.com">
</div>
<div class="inputOuter">
<p>
<label class="input_tag" for="fonction" >Function <em>*</em></label>
</p>
<input id="fonction" type="text" name="fonction" value="<?php if(isset($_POST['fonction']))echo $_POST['fonction'];?>" placeholder="project leader">
</div>
<div class="inputOuter">
<p>
<label class="input_tag" for="tele">Telephone <em>*</em></label>
</p>
<input id="tele" type="text" name="tele" maxlength="13" value="<?php if(isset($_POST['tele']))echo $_POST['tele'];?>" placeholder="0126598745 or 555-987-456">
</div>
<div class="inputOuter">
<p>
<label class="input_tag" for="firstAddress">Address <em>*</em></label>
</p>
<input id="firstAddress" type="text" name="firstAddress" value="<?php if(isset($_POST['firstAddress']))echo $_POST['firstAddress'];?>" placeholder="2st, abd-elhahim, Shoubra, Cairo">
</div>
<div class="inputOuter">
<p>
<label class="input_tag" for="postCode">Post Code <em>*</em></label>
</p>
<input id="postCode" type="text" name="postCode" value="<?php if(isset($_POST['postCode']))echo $_POST['postCode'];?>" placeholder="12345">
</div>
<div class="inputOuter">
<p>
<label class="input_tag" for="contury">Contury <em>*</em></label>
</p>
<select id="contury" name="contury" >
<option value="defaut" >-- Your Country --</option>
<option value="">sometext1</option>
<option value="">sometext2</option>
<option value="">sometext3</option>
</select>
</div><br/>
<div class="inputOuter">
<input type="file" name="fichier" size="3" value="Check Your image"/>
</div><br/>
<div class="inputOuter">
<p>
<label class="input_tag" for="nomste" >Company Name<em>*</em></label>
</p>
<input id="nomste" type="text" name="nomste" value="<?php if(isset($_POST['nomste']))echo $_POST['nomste'];?>" placeholder="GMS">
</div>
<div class="inputOuter">
<p>
<label class="input_tag" for="emailste">Company E-Mail <em>*</em></label>
</p>
<input id="emailste" type="text" name="emailste" value="<?php if(isset($_POST['emailste']))echo $_POST['emailste'];?>" placeholder="example@example.com" />
</div>
<div class="inputOuter">
<p>
<label class="input_tag" for="teleste">Company phone<em>*</em></label>
</p>
<input id="teleste" type="text" name="teleste" maxlength="13" value="<?php if(isset($_POST['teleste']))echo $_POST['teleste'];?>" placeholder="0126598745 or 555-987-456">
</div>
<div class="inputOuter">
<p>
<label class="input_tag" for="siret">Siret number <em>*</em></label>
</p>
<input id="siret" type="text" name="siret" value="<?php if(isset($_POST['siret']))echo $_POST['siret'];?>" placeholder="12345">
</div><br />
<div class="inputOuter">
<p>
<label class="input_tag" for="chpass">
Chosse Password <em>*</em></label>
</p>
<input id="chPass" type="password" name="pass" value="<?php if(isset($_POST['pass']))echo $_POST['pass'];?>" placeholder="********************">
</div>
<div class="inputOuter">
<p>
<label class="input_tag" for="coPass">Confirm Password <em>*</em></label>
</p>
<input id="coPass" type="password" name="con_pass" value="<?php if($_POST['con_pass']==$_POST['pass'])
if(isset($_POST['pass'])) echo $_POST['con_pass'];?>" placeholder="********************">
</div>
<div class="inputOuter">
<p>
<label class="input_tag" for="chPass">Langues <em>*</em></label>
</p>
<input id="radio4" type="radio" name="langue" value="" >
<label for="radio4">French</label>
<input id="radio3" type="radio" name="langue" value="" checked="checked" >
<label for="radio3">English</label>
<input id="radio2" type="radio" name="langue" value="">
<label for="radio2">Italian</label>
<input id="radio1" type="radio" name="langue" value="">
<label for="radio1">Esperanto</label>
</div>
<div class="inputOuter button">
<input type="submit" name="sub" id="button" value="create account">
</div>
</form>
</center>
<div class="erreurf">
<?php
function verification()
{
if(!isset($_POST['firstName']) || $_POST['firstName']==""){$msj="fill your first name"; echo $msj; return(false); }
elseif(!isset($_POST['secondName']) || $_POST['secondName']==""){$msj="fill your second name"; echo $msj; return(false);}
elseif(isset($_POST['email'])&&(verifMAIL($_POST['email'])==false)) echo "Your e-mail is invalid";
elseif(!isset($_POST['fonction']) || $_POST['fonction']==""){$msj="check your function"; echo $msj; return(false);}
elseif((isset($_POST['tele']))&&(verifTEL($_POST['tele'])==false))echo "Check your phone";
elseif(!isset($_POST['firstAddress']) || $_POST['firstAddress']==""){$msj="fill your adress"; echo $msj; return(false);}
elseif(!isset($_POST['postCode']) || $_POST['postCode']==""){$msj="Check your post code"; echo $msj; return(false);}
elseif(!isset($_POST['nomste']) || $_POST['nomste']==""){$msj="check your company name"; echo $msj; return(false);}
elseif(isset($_POST['emailste'])&&(verifMAIL($_POST['emailste'])==false)) echo "Your company e-mail is invalid";
elseif((isset($_POST['teleste']))&&(verifTEL($_POST['teleste'])==false))echo "Check your company phone";
elseif(!isset($_POST['siret']) || $_POST['siret']==""){$msj="Check your siret number"; echo $msj; return(false);}
elseif(!isset($_POST['pass']) || $_POST['pass']==""){$msj="Check your password"; echo $msj; return(false);}
elseif(!isset($_POST['con_pass']) || $_POST['con_pass']=="" || $_POST['con_pass'] != $_POST['pass']){$msj="Confirm your password"; echo $msj; return(false);}
elseif(!isset($_POST['langue'])){$msj="Check your langue"; echo $msj; return(false);}
elseif(isset($_POST['contury'])) if($_POST['contury'] == "defaut"){
$msj="Check your contury"; echo $msj; return(false);}
else return(true);
}
function verifMAIL($email){
if(filter_var($email,FILTER_VALIDATE_EMAIL))
return true;
else return false ;
}
function verifTEL($ch){
if(strlen($ch)<8)return false;
for($i=0;$i<strlen($ch);$i++){
if(in_array($ch[$i],array('0','1','2','3','4','5','6','7','8','9')))return true;
else return false;
}
}
if(isset($_POST['sub']) && verification() != false && verifMAIL($_POST['email'])==true && verifTEL($_POST['tele'])==true)
{
$fn=$_POST['firstName'];
$sn=$_POST['secondName'];
$civi=$_POST['civilite'];
$email=$_POST['email'];
$fct=$_POST['fonction'];
$tele=$_POST['tele'];
$fa=$_POST['firstAddress'];
$postcode=$_POST['postcode'];
$contury=$_POST['contury'];
$nomste=$_POST['nomste'];
$emailste=$_POST['emailste'];
$teleste=$_POST['teleste'];
$siret=$_POST['siret'];
$pass=$_POST['pass'];
$con=$_POST['con_pass'];
$langue=$_POST['langue'];
$img= $_POST['fichier'];
$req= mysql_query("INSERT INTO membre('id', 'image', 'pseudo', 'pass', 'date_inscri', 'civilite', 'prenom', 'nom', 'email', 'tel', 'fonction', 'nom_soci', 'adresse', 'cp', 'pays', 'email_soci', 'tel_soci', 'n_siret', 'langue') VALUES (' ', '$img', '$fn', '$pass', '".date("Y-m-d")."', '$civi', '$sn', '$fn', '$email', '$tele', '$fct', '$nomste', '$fa', '$postcode', '$contury', '$emailste', '$teleste', '$siret' )");
}
?>
</div>
</body>
</html>
9 réponses
Problème rencontré : un formulaire d'inscription en PHP tente d'insérer les données dans MySQL mais l'enregistrement échoue et une erreur SQL signale une syntaxe incorrecte près des valeurs. Les échanges montrent que la requête emploie des noms de colonnes entre guillemets simples et des valeurs interpolées, provoquant une insertion invalide et des incohérences de type pour date_inscri, cp et tel. Des conseils préconisent de ne pas entourer les noms de colonnes de guillemets et de traiter CP et tel comme VARCHAR plutôt que INT, pour éviter les erreurs de type. En parallèle, plusieurs échanges suggèrent d'ajouter die(mysql_error()) après la requête et de définir l'action du formulaire sur la même page pour afficher précisément l'erreur et faciliter le débogage.
-
Bonjour,
C'est normal que votre Form n'a pas d'action ?
Cordialement -
désolé je ne comprend pas votre réponse ce que vous pouvez expliquez mieux le problème et merci :)
-
Alors pourquoi il n'y a pas d'action dans votre <form (ci-dessous)
<form name="form" action="" method="POST">
quand vous cliquez sur le bouton submit que doit faire le formulaire ?. j'imagine (vu le code) qu'il doit faire appel à la même page donc :
<form name="form" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
-
bonjour ,
j'ai modifier mon code comme vous avez dit mais le même problème est toujours présent !!!! :( :(-
-
-
j'ai pensé que la requête n'est pas lu car j'ai modifier la requête
$req= mysql_query("insert values (' ', '".$img."', '".$fn."', '".$pass."', '".date("Y-m-d")."', '".$civi."', '".$sn."', '".$fn."', '".$email."', '".$tele."', '".$fct."', '".$nomste."', '".$fa."', '".$postcode."', '".$contury."', '".$emailste."', '".$teleste."', '".$siret."' )");ou elle est incorrecte et il ne detecte aucun erreure que vous pensez s'il vous plais et merci -
pouvez vous ajouter après cette ligne :
if(isset($_POST['sub']) && verification() != false && verifMAIL($_POST['email'])==true && verifTEL($_POST['tele'])==true)
{
echo "OK";
Recommencer la saisie du formulaire et vérifier qu'il affiche "OK à l'écran. Si ce n'est pas le cas c'est que le test n'est pas valide -
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
pouvez vous ajouter ceci
OR die(mysql_error()); a la fin de la requete
', '".$siret."' )") OR die(mysql_error());
et réessayer; Voir l'erreur eventuel Mysql -
cette erreur est affiché "Column count doesn't match value count at row 1"!!!!
-
Je pense qu'il y a un problème entre la structure de la table membre et ce que vous y mettez
-
-
j'ai écrie la requète comme ca pour ne detecter aucun erreur de type de variable
$req= mysql_query("INSERT INTO membre(image, pseudo, pass, date_inscri, civilite, prenom, nom, email, tel, fonction, nom_soci, adresse, cp, pays, email_soci, tel_soci, n_siret, langue) VALUES ($img, $fn, $pass, ".date("Y-m-d").", $civi, $sn, $fn, $email, $tele, $fct, $nomste, $fa, $postcode, $contury, $emailste, $teleste, $siret, $langue )") OR die(mysql_error());
et l'erreur suivat et affiché
"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 '@gmail.com, 32455436, qdsqdsq, ghdhdfdhffh, dshjqslkjfs, , , mrewa@gmail.com, 24' at line 1"
remarque:j'ai date_inscri de type date , cp:int tel:int, adresse:text ,tel_soci;int et tous les autre sont de type varchar et voici le chemin de ma base :
image
pseudo
pass
date_inscri
id
civilite
prenom
nom
email
tel
fonction
nom_soci
adresse
cp
pays
email_soci
tel_soci
n_siret
langue-
-
oui ca marche bien il y'a un problème dans la version j'ai changer la version que j'avais
je vous merci encore une fois pour votre aide et voici la dernière version<?php include("inc/config.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Inscription</title> </head> <body> <style> .erreurf{ font-size:20px; color:#FFFFFF; background-color:#C6C; position:;}</style> <center> <form name="form" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST"> <div class="inputOuter"> <p><label class="input_tag" for="firstName" >First Name <em>*</em></label> </p> <input id="firstName" type="text" name="firstName" value="<?php if(isset($_POST['firstName']))echo $_POST['firstName'];?>" placeholder="John"> </div> <div class="inputOuter"> <p> <label class="input_tag" for="secondName">Second Name <em>*</em></label> </p> <input id="secondName" type="text" name="secondName" value="<?php if(isset($_POST['secondName']))echo $_POST['secondName'];?>" placeholder="Smith"> </div> <div class="inputOuter"> <p> <label class="input_tag" for="civilite">civility </label></p> <select id="civilite" name="civilite" class="default" tabindex="1" value="<?php if(isset($_POST['civilite']))echo $_POST['civilite'];?>"> <option value="defaut">-- Your Civility --</option> <option value="sometext1">Mr.</option> <option value="sometext2">Mrs.</option> <option value="sometext2">Miss</option> </select> </div> <div class="inputOuter"> <p> <label class="input_tag" for="email">Your E-Mail <em>*</em></label> </p> <input id="email" type="text" name="email" value="<?php if(isset($_POST['email']))echo $_POST['email'];?>" placeholder="example@example.com"> </div> <div class="inputOuter"> <p> <label class="input_tag" for="fonction" >Function <em>*</em></label> </p> <input id="fonction" type="text" name="fonction" value="<?php if(isset($_POST['fonction']))echo $_POST['fonction'];?>" placeholder="project leader"> </div> <div class="inputOuter"> <p> <label class="input_tag" for="tele">Telephone <em>*</em></label> </p> <input id="tele" type="text" name="tele" maxlength="13" value="<?php if(isset($_POST['tele']))echo $_POST['tele'];?>" placeholder="0126598745 or 555-987-456"> </div> <div class="inputOuter"> <p> <label class="input_tag" for="firstAddress">Address <em>*</em></label> </p> <input id="firstAddress" type="text" name="firstAddress" value="<?php if(isset($_POST['firstAddress']))echo $_POST['firstAddress'];?>" placeholder="2st, abd-elhahim, Shoubra, Cairo"> </div> <div class="inputOuter"> <p> <label class="input_tag" for="postCode">Post Code <em>*</em></label> </p> <input id="postCode" type="text" name="postCode" value="<?php if(isset($_POST['postCode']))echo $_POST['postCode'];?>" placeholder="12345"> </div> <div class="inputOuter"> <p> <label class="input_tag" for="contury">Contury <em>*</em></label> </p> <select id="contury" name="contury" > <option value="defaut" >-- Your Country --</option> <option value="">sometext1</option> <option value="">sometext2</option> <option value="">sometext3</option> </select> </div><br/> <div class="inputOuter"> <input type="file" name="fichier" size="3" value="Check Your image"/> </div><br/> <div class="inputOuter"> <p> <label class="input_tag" for="nomste" >Company Name<em>*</em></label> </p> <input id="nomste" type="text" name="nomste" value="<?php if(isset($_POST['nomste']))echo $_POST['nomste'];?>" placeholder="GMS"> </div> <div class="inputOuter"> <p> <label class="input_tag" for="emailste">Company E-Mail <em>*</em></label> </p> <input id="emailste" type="text" name="emailste" value="<?php if(isset($_POST['emailste']))echo $_POST['emailste'];?>" placeholder="example@example.com" /> </div> <div class="inputOuter"> <p> <label class="input_tag" for="teleste">Company phone<em>*</em></label> </p> <input id="teleste" type="text" name="teleste" maxlength="13" value="<?php if(isset($_POST['teleste']))echo $_POST['teleste'];?>" placeholder="0126598745 or 555-987-456"> </div> <div class="inputOuter"> <p> <label class="input_tag" for="siret">Siret number <em>*</em></label> </p> <input id="siret" type="text" name="siret" value="<?php if(isset($_POST['siret']))echo $_POST['siret'];?>" placeholder="12345"> </div><br /> <div class="inputOuter"> <p> <label class="input_tag" for="chpass"> Chosse Password <em>*</em></label> </p> <input id="chPass" type="password" name="pass" value="<?php if(isset($_POST['pass']))echo $_POST['pass'];?>" placeholder="********************"> </div> <div class="inputOuter"> <p> <label class="input_tag" for="coPass">Confirm Password <em>*</em></label> </p> <input id="coPass" type="password" name="con_pass" value="<?php if($_POST['con_pass']==$_POST['pass']) if(isset($_POST['pass'])) echo $_POST['con_pass'];?>" placeholder="********************"> </div> <div class="inputOuter"> <p> <label class="input_tag" for="chPass">Langues <em>*</em></label> </p> <input id="radio4" type="radio" name="langue" value="" > <label for="radio4">French</label> <input id="radio3" type="radio" name="langue" value="" checked="checked" > <label for="radio3">English</label> <input id="radio2" type="radio" name="langue" value=""> <label for="radio2">Italian</label> <input id="radio1" type="radio" name="langue" value=""> <label for="radio1">Esperanto</label> </div> <div class="inputOuter button"> <input type="submit" name="sub" id="button" value="create account"> </div> </form> </center> <div class="erreurf"> <?php function verification() { if(!isset($_POST['firstName']) || $_POST['firstName']==""){$msj="fill your first name"; echo $msj; return(false); } elseif(!isset($_POST['secondName']) || $_POST['secondName']==""){$msj="fill your second name"; echo $msj; return(false);} elseif(isset($_POST['email'])&&(verifMAIL($_POST['email'])==false)) echo "Your e-mail is invalid"; elseif(!isset($_POST['fonction']) || $_POST['fonction']==""){$msj="check your function"; echo $msj; return(false);} elseif((isset($_POST['tele']))&&(verifTEL($_POST['tele'])==false))echo "Check your phone"; elseif(!isset($_POST['firstAddress']) || $_POST['firstAddress']==""){$msj="fill your adress"; echo $msj; return(false);} elseif(!isset($_POST['postCode']) || $_POST['postCode']==""){$msj="Check your post code"; echo $msj; return(false);} elseif(!isset($_POST['nomste']) || $_POST['nomste']==""){$msj="check your company name"; echo $msj; return(false);} elseif(isset($_POST['emailste'])&&(verifMAIL($_POST['emailste'])==false)) echo "Your company e-mail is invalid"; elseif((isset($_POST['teleste']))&&(verifTEL($_POST['teleste'])==false))echo "Check your company phone"; elseif(!isset($_POST['siret']) || $_POST['siret']==""){$msj="Check your siret number"; echo $msj; return(false);} elseif(!isset($_POST['pass']) || $_POST['pass']==""){$msj="Check your password"; echo $msj; return(false);} elseif(!isset($_POST['con_pass']) || $_POST['con_pass']=="" || $_POST['con_pass'] != $_POST['pass']){$msj="Confirm your password"; echo $msj; return(false);} elseif(!isset($_POST['langue'])){$msj="Check your langue"; echo $msj; return(false);} elseif(isset($_POST['contury'])) if($_POST['contury'] == "defaut"){ $msj="Check your contury"; echo $msj; return(false);} else return(true); } function verifMAIL($email){ if(filter_var($email,FILTER_VALIDATE_EMAIL)) return true; else return false ; } function verifTEL($ch){ if(strlen($ch)<8)return false; for($i=0;$i<strlen($ch);$i++){ if(in_array($ch[$i],array('0','1','2','3','4','5','6','7','8','9')))return true; else return false; } } if(isset($_POST['sub']) && verification() != false && verifMAIL($_POST['email'])==true && verifTEL($_POST['tele'])==true) { $fn=$_POST['firstName']; $sn=$_POST['secondName']; $civi=$_POST['civilite']; $email=$_POST['email']; $fct=$_POST['fonction']; $tele=$_POST['tele']; $fa=$_POST['firstAddress']; $postcode=$_POST['postcode']; $contury=$_POST['contury']; $nomste=$_POST['nomste']; $emailste=$_POST['emailste']; $teleste=$_POST['teleste']; $siret=$_POST['siret']; $pass=$_POST['pass']; $con=$_POST['con_pass']; $langue=$_POST['langue']; $img= $_POST['fichier']; $req= mysql_query("INSERT INTO membre('image', 'pseudo', 'pass', 'date_inscri', 'civilite', 'prenom', 'nom', 'email', 'tel', 'fonction', 'nom_soci', 'adresse', 'cp', 'pays', 'email_soci', 'tel_soci', 'n_siret', 'langue') VALUES ('$img', '$fn', '$pass', '".date("Y-m-d")."', '$civi', '$sn', '$fn', '$email', '$tele', '$fct', '$nomste', '$fa', '$postcode', '$contury', '$emailste', '$teleste', '$siret', '$langue' )") OR die(mysql_error()); } ?> </div> </body> </html>:)
-