Les Allergies
Alimentaires
Posez votre question Signaler

Probleme de requete d'insertion php [Résolu]

houba80 52Messages postés 13 juillet 2009Date d'inscription 15 juillet 2011Dernière intervention - Dernière réponse le 16 juil. 2009 à 16:58
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
Lire la suite 

Probleme de requete d'insertion php »

33 réponses
Réponse
+1
moins plus
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++;
houba80- 16 juil. 2009 à 16:38
wé c cool merci amigo
houba80- 16 juil. 2009 à 16:40
mais il me reste le champ pw c toujours vide
Ajouter un commentaire
Réponse
+1
moins plus
$rsql = "insert into client values('$cod','$nom','$prenom','$mail','$tel','$pw','$fonction')";
houba80- 16 juil. 2009 à 16:45
wé c vrai je l'ai nommé $pw
houba80- 16 juil. 2009 à 16:57
j'ai une autre chose si sa te dérange pas
je veu afficher le contenu de mon listbox pas le numero de l'index
Ajouter un commentaire
Réponse
+1
moins plus
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>"
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
$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?? ;)
Ajouter un commentaire
Réponse
+0
moins plus
ben plutot remplace ta ligne de mysql_query par

$res=mysql_query($rsql) or die(mysql_error());
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Essai avec des guillemets autour des variables dans VALUE( ), enlève le S devant $Mail
jeangilles- 16 juil. 2009 à 14:56
"Essai avec des guillemets autour des variables dans VALUE( ), enlève le S devant $Mail"

Pas des guillemets, mais des apostrophes
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
Ajouter un commentaire
Réponse
+0
moins plus
aidez moi svp ma requete d'insertion est fausse
Ajouter un commentaire
Réponse
+0
moins plus
Ben oui si tes POST n'existent pas ca parait logique que ca marche pas ....
Ajouter un commentaire
Réponse
+0
moins plus
A tu essayer de mettre des echo pour voir si tes variable était iniatiliser correctement ou si elle renvoyait une valeur vide??
houba80- 16 juil. 2009 à 15:57
il m'affiche rien avec echo
houba80- 16 juil. 2009 à 15:58
alors le prob est dans les post
Ajouter un commentaire
Réponse
+0
moins plus
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
houba80- 16 juil. 2009 à 16:04
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>
houba80- 16 juil. 2009 à 16:04
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";
?>
Ajouter un commentaire
Réponse
+0
moins plus
<form name="inscri" action="verif.php" methed="get" onSubmit="return(VerifForm(this))">

Ici ce n'est pas methed mais method

essaye pour voir ;)

houba80- 16 juil. 2009 à 16:19
le même probleme REQUETE D'INSERTION
Ajouter un commentaire
Réponse
+0
moins plus
method="post" pas get !

ha non dsl javais pas vu que tavais modifier ta page de traitement aussi XD
Ajouter un commentaire
Réponse
+0
moins plus
"Le même probleme REQUETE D'INSERTION"

Heu ca taffiche une erreur ?
laquelle ?
houba80- 16 juil. 2009 à 16:22
Catchable fatal error: Object of class stdClass could not be converted to string
Ajouter un commentaire
Réponse
+0
moins plus
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')";
houba80- 16 juil. 2009 à 16:26
même probleme
Ajouter un commentaire
Réponse
+0
moins plus
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 . "')";
houba80- 16 juil. 2009 à 16:36
oui ils sont tout de type texte
j'ai essayer ta requete mais sa va pas marcher
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Ce document intitulé « probleme de requete d'insertion php » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?