Probleme de requete d'insertion php
Résolu
houba80
Messages postés
52
Date d'inscription
Statut
Membre
Dernière intervention
-
jeangilles Messages postés 816 Date d'inscription Statut Membre Dernière intervention -
jeangilles Messages postés 816 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai ce code en php
<?php
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$fonction=$_POST['fonction'];
$mail=$_POST['adresse_email'];
$tel=$_POST['tel'];
$pw=$_POST['pw'];
$c=mysql_pconnect("localhost","root","");
$db=mysql_select_db("info leader");
$rsql="select max(num) from client";
$res=mysql_query($rsql);
$cod=mysql_fetch_object($res);
$cod++;
settype($nom,"string");
settype($prenom,"string");
//settype($fonction,"string");
settype($mail,"string");
settype($tel,"string");
settype($pw,"string");
$rsql="INSERT INTO client (num, nom, prenom, mail, tel, password, fonction) VALUES ($cod, $nom, $prenom, s$mail, $tel, $pw, $fonction)";
$res=mysql_query($rsql);
?>
il m'indique qu'il y a une erreur dans la requete d'insertion
j'ai ce code en php
<?php
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$fonction=$_POST['fonction'];
$mail=$_POST['adresse_email'];
$tel=$_POST['tel'];
$pw=$_POST['pw'];
$c=mysql_pconnect("localhost","root","");
$db=mysql_select_db("info leader");
$rsql="select max(num) from client";
$res=mysql_query($rsql);
$cod=mysql_fetch_object($res);
$cod++;
settype($nom,"string");
settype($prenom,"string");
//settype($fonction,"string");
settype($mail,"string");
settype($tel,"string");
settype($pw,"string");
$rsql="INSERT INTO client (num, nom, prenom, mail, tel, password, fonction) VALUES ($cod, $nom, $prenom, s$mail, $tel, $pw, $fonction)";
$res=mysql_query($rsql);
?>
il m'indique qu'il y a une erreur dans la requete d'insertion
Configuration: Windows XP Firefox 3.0.3
20 réponses
-
Ha je viens de voir ca :
$res=mysql_query($rsql);
$cod=mysql_fetch_object($res);
$cod++;
remplace plutot par
$res=mysql_query($rsql);
$ligne=mysql_fetch_array($res);
$cod=$ligne[0];
$cod++; -
$rsql = "insert into client values('$cod','$nom','$prenom','$mail','$tel','$pw','$fonction')";
-
Alors faut que tu modifies les "value" des options de ton select dans ton formulaire, parce que cest ca qui est envoyé, et pas le texte qui est compris entre les balises "<option>" et "</option>"
-
Sur tes POST mets des addslashes déjà ca peut aider.
Puis sinon bin fais un echo de ta requete et exécute la dans phpMyAdmin, t'aura un message + explicite. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
$rsql="INSERT INTO client (num, nom, prenom, mail, tel, password, fonction) VALUES ($cod, $nom, $prenom, s$mail, $tel, $pw, $fonction)";
il y a pas un petit s en trop ici juste avant le $mail?? ;) -
ben plutot remplace ta ligne de mysql_query par
$res=mysql_query($rsql) or die(mysql_error()); -
Bonjour,
Essai avec des guillemets autour des variables dans VALUE( ), enlève le S devant $Mail -
voici l'erreur qu'il m'affiche
Catchable fatal error: Object of class stdClass could not be converted to string et il m'indique au requete d'insertion c'est vrai j'ai ajouter un s devant $mail mais le même erreur est afficher -
c vrmt inormal j'ai utiliser wamp au début il m'a afficher l'erreur que j'ai indiquer au début mais mnt j'ai changer easyphp et il m'a afficher sa
Notice: Undefined index: nom in C:\Program Files\EasyPHP 2.0b1\www\info leader\verif.php on line 10
Notice: Undefined index: prenom in C:\Program Files\EasyPHP 2.0b1\www\info leader\verif.php on line 11
Notice: Undefined index: fonction in C:\Program Files\EasyPHP 2.0b1\www\info leader\verif.php on line 12
Notice: Undefined index: adresse_email in C:\Program Files\EasyPHP 2.0b1\www\info leader\verif.php on line 13
Notice: Undefined index: tel in C:\Program Files\EasyPHP 2.0b1\www\info leader\verif.php on line 14
Notice: Undefined index: pw in C:\Program Files\EasyPHP 2.0b1\www\info leader\verif.php on line 15
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\info leader\verif.php on line 20
Erreur de syntaxe pr�s de ''info leader'.'client' (num, nom, prenom, mail, tel, password, f' � la ligne 1 -
-
aidez moi svp ma requete d'insertion est fausse
-
Ben oui si tes POST n'existent pas ca parait logique que ca marche pas ....
-
A tu essayer de mettre des echo pour voir si tes variable était iniatiliser correctement ou si elle renvoyait une valeur vide??
-
Est ce qu'on pourrait avoir la page qui appelle celle-ci ?
si les POST n'existent pas ca doit venir de la page précédente-
voila le html:
<html>
<head>
<title> inscription </title>
<link rel=stylesheet href="css/nivsecmp.css" type="text/css" media=screen>
<script src="js/js.js" type="text/javascript"></script>
<script>
function evalPwd(s)
{
var cmpx = 0;
if (s.length >= 6)
{
cmpx++;
if (s.search("[A-Z]") != -1)
{
cmpx++;
}
if (s.search("[0-9]") != -1)
{
cmpx++;
}
if (s.length >= 8 || s.search("[\x20-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]") != -1)
{
cmpx++;
}
}
if (cmpx == 0)
{
document.getElementById("weak").className = "nrm";
document.getElementById("medium").className = "nrm";
document.getElementById("strong").className = "nrm";
}
else if (cmpx == 1)
{
document.getElementById("weak").className = "red";
document.getElementById("medium").className = "nrm";
document.getElementById("strong").className = "nrm";
}
else if (cmpx == 2)
{
document.getElementById("weak").className = "yellow";
document.getElementById("medium").className = "yellow";
document.getElementById("strong").className = "nrm";
}
else
{
document.getElementById("weak").className = "green";
document.getElementById("medium").className = "green";
document.getElementById("strong").className = "green";
}
}
//fonction pour vérifier si le numero de teléphone possède des caractère alphabétique
function numerique(x)
{
if(isNaN(x)==true)
{
alert('Numero de Tel doit etre numérique')
}
}
//fonction d'obliger l'utilisateur à cocher une case de formulaire avant de continuer son inscription
function ChangeStatut(inscri)
{
if(window.document.inscri.terme.checked == true)
window.document.inscri.submit.disabled = false
else
window.document.inscri.submit.disabled = true
}
//vérification mail
function VerifForm(formulaire)
{
adresse = formulaire.adresse_email.value;
var place = adresse.indexOf("@",1);
var point = adresse.indexOf(".",place+1);
if ((place > -1)&&(adresse.length >2)&&(point > 1))
{
formulaire.submit();
return(true);
}
else
{
alert('Entrez une adresse e-mail valide!!');
return(false);
}
}
</script>
</head>
<body background="fond inscription.jpg" leftmargin="50" >
<div align="center">
<blockquote> </blockquote>
</div>
<blockquote><p align="center"><br>
<br>
</p>
</blockquote>
<form name="inscri" action="verif.php" methed="get" onSubmit="return(VerifForm(this))">
<p align="center"><b><i>Nom * : </i></b>
<input name="nom" size=10>
<br>
<br>
<b><b><i>Prénom * : </i></b>
<input name="prenom" size=10>
<br>
<br>
<b><i>Fonction :</i></b>
<select name="fonction">
<option value=0> </option>
<option value=1>Etudiant </option>
<option value=2>Employé </option>
</select>
</b></p>
<p align="center"><b>e-mail:
<label>
<input type="text" name="adresse_email" id="mail" >
</label>
<label></label>
<br>
<br>
<b><i>Téléphone : </i></b>
<label>
<input type="text" name="tel" id="tel" onBlur="numerique(this.value)">
</label>
<br>
<br>
<i>Mot de passe * :</i></b>
<input name="pw" type=password onKeyUp="evalPwd(pw.value);" size=10 maxlength=8>
</p>
<p align="left"> Niveau de sécurité de votre mot de passe : </p>
<div id="sm">
<div align="center">
<ul>
<li id="weak" class="nrm">Faible</li>
<li id="medium" class="nrm">Moyen</li>
<li id="strong" class="nrm">Fort</li>
</ul>
</div>
</div>
<div align="center"><br>
<br>
<b><i>Lire cela !!!</i></b>
<textarea name=motivation cols=100 rows="6" row=100 >
La validation de ce formulaire emporte consentement aux Conditions d’Utilisation du Service ainsi qu’à notre centre!
Données personnelles, qui précise les modalités du droit d’accès et de rectification dont vous bénéficiez.
La validation de ce formulaire emporte également consentement à la collecte, au stockage et à l’utilisation des informations figurant sur ce formulaire.
</textarea>
<br>
<br>
<input type="checkbox" name="terme" value="confirm" onClick="ChangeStatut(inscri)" >
<i>J’ai lu et approuvé les Conditions d’utilisation de ce Compte</i>
<br>
<br>
<input type=submit name="submit" value=Envoyer disabled />
<input type=reset name="reset" value=Effacer>
<br>
</div>
</form>
</body>
</html>- et voici le php:
<?php
$nom=$_GET['nom'];
$prenom=$_GET['prenom'];
$fonction=$_GET['fonction'];
$mail=$_GET['adresse_email'];
$tel=$_GET['tel'];
$pw=$_GET['pw'];
//echo $nom. "<br>";
//echo $prenom. "<br>";
//echo $fonction. "<br>";
//echo $mail. "<br>";
//echo $tem. "<br>";
//echo $pw. "<br>";
$c=mysql_pconnect("localhost","root","");
$db=mysql_select_db("info leader");
$rsql="select max(num) from client";
$res=mysql_query($rsql);
$cod=mysql_fetch_object($res);
$cod++;
settype($nom,"string");
settype($prenom,"string");
settype($fonction,"string");
settype($mail,"string");
settype($tel,"string");
settype($pw,"string");
$rsql = "insert into client values($cod,$nom,$prenom,$mail,$tel,$password,$fonction)";
$res=mysql_query($rsql) or die(mysql_error());
if($res)
echo "bravo";
else
echo "pas encore";
?>
-
-
<form name="inscri" action="verif.php" methed="get" onSubmit="return(VerifForm(this))">
Ici ce n'est pas methed mais method
essaye pour voir ;)
-
method="post" pas get !
ha non dsl javais pas vu que tavais modifier ta page de traitement aussi XD -
"Le même probleme REQUETE D'INSERTION"
Heu ca taffiche une erreur ?
laquelle ? -
Heu tes erreurs viennent de tes settype
ils ne servent à rien, par contre il faut que tu mettes des ' autour des tes values lors de l'insert :
$rsql = "insert into client values('$cod','$nom','$prenom','$mail','$tel','$password','$fonction')"; -
Tout les donnee a ajouter sont elle de type texte??? sa pourrait être une des erreurs
essaye ta formule comme ceci:
$rsql = "insert into client values('" . $cod . "','" . $nom . "','" . $prenom . "','" . $mail . "','" . $tel . "','" . $password . "','" . $fonction . "')"; -
Pourquoi tjrs le même message d'erreur??
fait un echo de ta requète et copie nous ce qu'il en ressort svp sa sera plus simple pour voir le problème