Problème de quotes simples [Résolu]

Messages postés
20
Date d'inscription
mardi 25 mai 2010
Statut
Membre
Dernière intervention
1 juin 2011
- - Dernière réponse : vincevalantine
Messages postés
20
Date d'inscription
mardi 25 mai 2010
Statut
Membre
Dernière intervention
1 juin 2011
- 7 juin 2010 à 15:52
Bonjour,

J'ai besoin d'aide car j'ai un souci au niveau des quotes simples. Je fait un formulaire de saisie actuellement et il y a un champ textarea, lorsque j'entre dans mon site et que je saisisse dans ce champ textarea une phrase avec une quote simple (genre ex : Je ne dirais rien, c'est tout !) et que je valide le formulaire, rien ne s'affiche dans ma BDD.
J'utilise phpmyadmin comme base et IDE NETBEANS pour le PHP.

Voici mon code sans plus tarder :

Formulaire de saisie :

echo "Recommanderiez-vous notre agence auprès de votre entourage (amis, connaissances, autres...) ? ";
echo "<select name='choix'>"
. "<option value=''></option>"
. "<option value='Oui'>Oui</option>"
. "<option value='Non'>Non</option>"
. "<option value='Ne se prononce pas'>Ne se prononce pas</option>"
. "</select>*

";
echo "Merci d'indiquer les raisons ci-dessous.*
";

echo 'Remerciements/Commentaires :
';?>
<textarea name ="textarea1" rows=10 COLS=85></textarea>






<select name='civilite'>

. <option value=''>--- Civilité ---</option>
. <option value=1>M. </option>
. <option value=2>Mme </option>
. <option value=3>Mlle</option>
. <option value=4>M. et Mme</option>
. </select>*,

*,
*


*




Et voici la requête :

if ((($_POST["numSaisie"]="" AND $_POST["nomSaisie"]="" AND $_POST["prenomSaisie"]="" AND $_POST["emailSaisie"]="" AND $_POST["ListConnaiss"]="" AND $_POST["choix"]="" AND $_POST["noteglob"]="" AND addslashes($_POST["textarea1"]="")))
AND($_POST['quest1']="" AND $_POST['quest2']="" AND $_POST['quest3']="" AND $_POST['quest4']="" AND $_POST['quest5']=""))
{
null;
}
else
{
$reqCli="insert into client_acheteur (NumCli, NomCli, PrenomCli, EmailCli, Connaiss_agence, Recommandation, Commentaire, Note_globale, satis_quest1, satis_quest2, satis_quest3, satis_quest4, satis_quest5)
values('".$_POST["numSaisie"]."','".$_POST["nomSaisie"]."','".$_POST["prenomSaisie"]."','".$_POST["emailSaisie"]."','".$_POST["ListConnaiss"]."','".$_POST["choix"]."','".$_POST["textarea1"]."','".$_POST["noteglob"]."',
'".$_POST["quest1"]."','".$_POST["quest2"]."','".$_POST["quest3"]."','".$_POST["quest4"]."','".$_POST["quest5"]."');";
}
mysql_query($reqCli,$connexion);

Commentaire : champ de la BDD pour le textarea
Afficher la suite 

9 réponses

Meilleure réponse
Messages postés
194
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
11 juillet 2015
3
Merci
donc utilise mysql_real_escape_string() sur toute les variable post a inserer et n'oublie pas ce qu'a dit Arto_8000

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 203 internautes nous ont dit merci ce mois-ci

Commenter la réponse de devil_may_cry
Messages postés
194
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
11 juillet 2015
0
Merci
salut,
- je n'ai vue null par mysql_connect() donc ceci peut être une des cause
- si c'est deja dans le script utilise mysql_real _escape_string() au lien de addslashes et attention pour utiliser cette fonction il faut dabord qu'une connexion au serveur de bd soit deja établit
- si tous le deux cas evaluer au dessus sont regler et que le probleme persiste ajoute or die(mysql_error()) a ton mysql_query au moins tu poura savoir si l'erreur est du a la syntaxe de ta requete SQL
Commenter la réponse de devil_may_cry
Messages postés
20
Date d'inscription
mardi 25 mai 2010
Statut
Membre
Dernière intervention
1 juin 2011
0
Merci
en fait c'est un ptit extrait donc le début ça donne ça :

pour le formulaire de saisie :

<?php
require("connect.php");

...

echo '<form action= "questionnaire_fait_vendeur.php" method="POST" onsubmit= "return (verifForm(this))>';

...

echo "Recommanderiez-vous notre agence auprès de votre entourage (amis, connaissances, autres...) ? ";

...

?>


...


Et dans ce fichier "connect.php : "

<?php
define("SERVEUR","localhost");
define("LOGIN","root");
define("MDP","");
define("MABASE","sondage_client");
$connexion =mysql_connect(SERVEUR,LOGIN,MDP);
if($connexion)
{
mysql_select_db(MABASE,$connexion);
}
else
{
echo "problème à la connexion !";
}
?>

qui est en fait la connexion à la BDD !
Commenter la réponse de vincevalantine
Messages postés
194
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
11 juillet 2015
0
Merci
donc suis les étapes que j'ai decrit plus haut pour voir ce que ca donne
Commenter la réponse de devil_may_cry
Messages postés
20
Date d'inscription
mardi 25 mai 2010
Statut
Membre
Dernière intervention
1 juin 2011
0
Merci
ok j'essaierai ça dans 1h parce que mes fichiers sont "au bureau" et je te dirais par la suite si le problème est résolu.
Commenter la réponse de vincevalantine
Messages postés
1044
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2010
5
0
Merci
Pour tester l'égalité, il faut utiliser l'opérateur ==. Le = simple est tout simplement une assignation. Ta condition fais seulement assigner toute tes valeurs passées en paramètre POST à vide.
Commenter la réponse de Arto_8000
Messages postés
20
Date d'inscription
mardi 25 mai 2010
Statut
Membre
Dernière intervention
1 juin 2011
0
Merci
Voilà ce qu'il m'a affiché après avoir ajouté "die(mysql_error())" :

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 'est bien !','Très satisfait', 'Très satisfaisant','Très satisfais' at line 2
Commenter la réponse de vincevalantine
Messages postés
20
Date d'inscription
mardi 25 mai 2010
Statut
Membre
Dernière intervention
1 juin 2011
0
Merci
euh plutôt "or die(mysql_error())".
Commenter la réponse de vincevalantine
Messages postés
20
Date d'inscription
mardi 25 mai 2010
Statut
Membre
Dernière intervention
1 juin 2011
0
Merci
Je vous remercie à tous les deux de m'avoir éclairé !!!
Commenter la réponse de vincevalantine