Problème de quotes simples [Résolu]

Signaler
Messages postés
20
Date d'inscription
mardi 25 mai 2010
Statut
Membre
Dernière intervention
1 juin 2011
-
Messages postés
20
Date d'inscription
mardi 25 mai 2010
Statut
Membre
Dernière intervention
1 juin 2011
-
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

9 réponses

Messages postés
194
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
11 juillet 2015

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

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
Messages postés
20
Date d'inscription
mardi 25 mai 2010
Statut
Membre
Dernière intervention
1 juin 2011

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 !
Messages postés
194
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
11 juillet 2015

donc suis les étapes que j'ai decrit plus haut pour voir ce que ca donne
Messages postés
20
Date d'inscription
mardi 25 mai 2010
Statut
Membre
Dernière intervention
1 juin 2011

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.
Messages postés
1044
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2010
7
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.
Messages postés
20
Date d'inscription
mardi 25 mai 2010
Statut
Membre
Dernière intervention
1 juin 2011

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
Messages postés
20
Date d'inscription
mardi 25 mai 2010
Statut
Membre
Dernière intervention
1 juin 2011

euh plutôt "or die(mysql_error())".
Messages postés
20
Date d'inscription
mardi 25 mai 2010
Statut
Membre
Dernière intervention
1 juin 2011

Je vous remercie à tous les deux de m'avoir éclairé !!!