Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/01/2011, 14h37   #1
Invité de passage
 
Erwan
Inscription : janvier 2011
Messages : 4
Détails du profil
Informations personnelles :
Nom : Erwan

Informations forums :
Inscription : janvier 2011
Messages : 4
Points : 0
Points : 0
Par défaut Apostrophe dans formulaire

Bonjour tout le monde.

Je suis actuellement en train de faire une FAQ pour le site que je développe.

J'ai crée un fichier ajouter_faq.php qui contient un formulaire de base pour ajouter les questions réponses:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
include("../controleur/controleur.php");
if(isset($_POST['question']) AND isset($_POST['reponse']))
	{
		$req = $bdd->exec('INSERT INTO faq(question, reponse) VALUES( :question, :reponse)');
		$req->execute(array('question' => $_POST['question'], 'reponse' => $_POST['reponse']]));
		echo '<script language="JavaScript">';
		echo 'setTimeout("window.location=\'../vue/ajouter_faq.php\'",3000);';
		echo '</script>';
		echo 'La faq a bien été ajoutée';
	}
else
	{
		echo '<fieldset>';
			echo '<legend>Ajouter une Question/Réponse</legend>';
			echo '<form method="post" action="ajouter_faq.php">';
				echo '<textarea name="question" cols="70" rows="3">Écrivez la question ici</textarea><br />';
				echo '<textarea name="reponse" cols="70" rows="5">Écrivez la réponse ici</textarea><br />';
				echo '<input type="submit" value="Envoyer"/>';
				echo '<input type="reset" value="Effacer"/>';
			echo '</form>';
		echo '</fieldset>';
	}
?>
Quand j'envoie une question/réponse qui ne contient pas de d'apostrophe(') ça marche nickel et c'est envoyé à la BDD mais dés que un des deux champs en contient une rien ne ce passe au niveau de la BDD.

J'ai essayé en vain htmlspecialchars et compagnie donc je sollicite votre aide.

Merci d'avance
God3us est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 14h39   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
c'est pas exec mais prepare, active tes erreurs PHP, si c'est une autre lib que PDO vérifie que les valeur sois protégés
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 14h47   #3
Invité de passage
 
Erwan
Inscription : janvier 2011
Messages : 4
Détails du profil
Informations personnelles :
Nom : Erwan

Informations forums :
Inscription : janvier 2011
Messages : 4
Points : 0
Points : 0
J'utilise PDO et j'ai remplacé par prepare.
J'utilise Wampserver, comment activer les erreur?
God3us est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 14h52   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par God3us Voir le message
J'utilise PDO et j'ai remplacé par prepare.
J'utilise Wampserver, comment activer les erreur?
change ca dans ton php.ini
error_reporting doit etre a E_ALL | E_STRICT
display_errors a On

et pour PDO c'est pas la : http://php.net/manual/fr/pdo.error-handling.php
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 15h02   #5
Invité de passage
 
Erwan
Inscription : janvier 2011
Messages : 4
Détails du profil
Informations personnelles :
Nom : Erwan

Informations forums :
Inscription : janvier 2011
Messages : 4
Points : 0
Points : 0
Les erreurs étaient activées par defaut.
pour mon problème on m'avait dit de mettre un htmlspecialchasr avant d'envoyer à la BDD mais ça ne change rien.
God3us est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 15h04   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par God3us Voir le message
Les erreurs étaient activées par defaut.
pour mon problème on m'avait dit de mettre un htmlspecialchasr avant d'envoyer à la BDD mais ça ne change rien.
non c'est au moment de l'affichage qu'il faut le faire
mais ta bien PDO ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 15h11   #7
Invité de passage
 
Erwan
Inscription : janvier 2011
Messages : 4
Détails du profil
Informations personnelles :
Nom : Erwan

Informations forums :
Inscription : janvier 2011
Messages : 4
Points : 0
Points : 0
Comment ça j'ai bien PDO?
J'utilise PDO pour communiquer avec le BDD

Mais y a rien a afficher car une phrase avec apostrophe ne s'ajoute pas à la base de données
God3us est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 16h16   #8
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Salut,

Et si tu protéges les données entrées à l'aide de la fonction mysql_real_escape_string() ?
Code :
1
2
3
4
array(
	'question' => mysql_real_escape_string($_POST['question']),
	'reponse'  => mysql_real_escape_string($_POST['reponse'])
);
?

Il y a un crochet fermant en trop dans cette ligne...
Code :
$req->execute(array('question' => $_POST['question'], 'reponse' => $_POST['reponse']]));
Là, il est vrai que PHP aurait dû annoncer l'erreur.
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h33.


 
 
 
 
Partenaires

Hébergement Web