Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 10/07/2006, 11h27   #1
Membre du Club
 
Avatar de moonia
 
Inscription : novembre 2003
Messages : 283
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2003
Messages : 283
Points : 45
Points : 45
Par défaut [Conception] problème d'enregistrement de données avec apostrophes ds ma BD

Bonjour a tous,
J’ai un grand problème,
j'ai un formulaire a remplir(champ text) , le problème se pose quand je fais renter dans mon champ texte une phrase qui contient une apostrophe et la j'ai une erreur de syntaxe qui s’affiche

Qlq pourra m’aider SVP
moonia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 11h28   #2
Membre chevronné
 
Avatar de stunti
 
Inscription : mai 2006
Messages : 521
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : mai 2006
Messages : 521
Points : 602
Points : 602
utilise htmlentities avant de mettre le texte dans ton champs.
__________________
If it's not broken, don't fix it.
BiliBa Built on top of Zend Framework
stunti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 11h31   #3
Membre du Club
 
Avatar de moonia
 
Inscription : novembre 2003
Messages : 283
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2003
Messages : 283
Points : 45
Points : 45
c a d je ne saisi pas
si j'ai cette ligne
Code :
<input value="" name="radio3" type="radio">&nbsp;autre(s), à préciser :&nbsp;<input name="autres_a1" size="50" value="" type="text">
ou je pourrai mettre se que tu m'as dit ??
moonia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 11h34   #4
Membre chevronné
 
Avatar de stunti
 
Inscription : mai 2006
Messages : 521
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : mai 2006
Messages : 521
Points : 602
Points : 602
ce n'est pas du PHP alors.
Je n'ai pas du comprendre ton probleme.

Quand est ce qu'il te dit que tu as une erreur ?
__________________
If it's not broken, don't fix it.
BiliBa Built on top of Zend Framework
stunti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 11h37   #5
Membre du Club
 
Avatar de moonia
 
Inscription : novembre 2003
Messages : 283
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2003
Messages : 283
Points : 45
Points : 45
Citation:
Envoyé par moonia
c a d je ne saisi pas
si j'ai cette ligne
Code :
<input value="" name="radio3" type="radio">&nbsp;autre(s), à préciser :&nbsp;<input name="autres_a1" size="50" value="" type="text">
ou je pourrai mettre se que tu m'as dit ??

la ligne en haut fais partie de mon formulaire ,je doit faire entrer des données et les enregistrer ds ma BD , le pb est le suivant si je fais rentrer comme données dans ce champ text ( test ) y pas d'erreur mais si a la place je met ( c'est içi ) par exemple , y a une erreur qui surgit de type
Code :
Erreur de syntaxe près de 'est '
c l'apostrophe qui me pose un pb
moonia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 11h37   #6
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
bah j'ai pas bien compris non plus, tu mets ta valeur dans le input à la création de la page en PHP ?
ou tu la récuperes et ca cause un probleme sur le traitement de cette valeur ?
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur.
Mon espace Développez : mes Créations.


Rencontre & Carte des Membres de Developpez.com, version 3.0
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 11h42   #7
Membre du Club
 
Avatar de moonia
 
Inscription : novembre 2003
Messages : 283
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2003
Messages : 283
Points : 45
Points : 45
Je ré explique
J’ai un formulaire , qui contient des champ input ok
comme suit:
donner mon le nom de la formation

Code :
donner mon le nom de la formation<input id = "a_1" name="but_formation" size="161" value ="" type="text">
( note que ce nom va s'enregistrer apres ds une BD)

donc si je vais rentrer comme nom le mot "test" , --> l'enregistrement ds la BD se fais normalement , mais si je fais rentrer comme nom " l'affaire" avec une apostrophe alors y une erreur qui surgit ( je ne peux pas enregister cette donnees ds ma BD)

comment faire pour corriger ca SVP
moonia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 11h47   #8
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
bah faut surtout nous montrer le code PHP, qui va aller enregistrer cela dans la BDD

et faire un addslashes() ou htmlentities() avec ENT_QUOTES sur ta variable POST.
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur.
Mon espace Développez : mes Créations.


Rencontre & Carte des Membres de Developpez.com, version 3.0
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 11h49   #9
Membre chevronné
 
Avatar de stunti
 
Inscription : mai 2006
Messages : 521
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : mai 2006
Messages : 521
Points : 602
Points : 602
Je crois que j'ai compris.
C 'est quand tu mets les donnees dans ta base ?
dans ce cas, il faut faire un addslashes a la creation de ta requete d'insert.

edit : Je suis un peu lent aujourd'hui
__________________
If it's not broken, don't fix it.
BiliBa Built on top of Zend Framework
stunti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 11h49   #10
Membre du Club
 
Avatar de moonia
 
Inscription : novembre 2003
Messages : 283
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2003
Messages : 283
Points : 45
Points : 45
Code :
1
2
3
4
5
6
7
8
9
<?php
if($_POST['action'] == 'submitted')
{
 
/*--------------------------------------Partie A------------------------------------------------*/
$nom = $_POST['nom_formation'];
$add_user = sprintf("INSERT INTO donnees (id_user,but_formation,objectif_formation) VALUES ('$id','$but_formation')");
 
?>
voici la partie du code php ,qcq je doit faire pour corriger ca svp
moonia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 11h50   #11
Membre chevronné
 
Avatar de stunti
 
Inscription : mai 2006
Messages : 521
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : mai 2006
Messages : 521
Points : 602
Points : 602
Code :
$nom = $_POST['nom_formation'];
a remplacer par

Code :
$nom = addslashes($_POST['nom_formation']);
__________________
If it's not broken, don't fix it.
BiliBa Built on top of Zend Framework
stunti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 11h52   #12
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
stunti >> bah tu vois tu as pigé , mais on t'a expliqué longtemps
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur.
Mon espace Développez : mes Créations.


Rencontre & Carte des Membres de Developpez.com, version 3.0
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 11h53   #13
Membre du Club
 
Avatar de moonia
 
Inscription : novembre 2003
Messages : 283
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2003
Messages : 283
Points : 45
Points : 45
merciiiiii ça marche un grand merci
moonia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 12h12   #14
Membre Expert
 
Avatar de SnakemaN
 
Bidouille-tout Android
Inscription : juillet 2006
Messages : 871
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Bidouille-tout Android

Informations forums :
Inscription : juillet 2006
Messages : 871
Points : 1 102
Points : 1 102
mais il faut faire attention si tu accepte les ' dans une requete SQL on pourrai faire plein de chose pas sympa du tout.....

genre dans le champ texte tu met un truc du style :

dtc' DROP TABLE donnees--'
SnakemaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 12h14   #15
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
Citation:
Envoyé par SnakemaN
mais il faut faire attention si tu accepte les ' dans une requete SQL on pourrai faire plein de chose pas sympa du tout.....

genre dans le champ texte tu met un truc du style :

dtc' DROP TABLE donnees--'
bah il est accepte pas justement ... tu racontes quoi ?
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur.
Mon espace Développez : mes Créations.


Rencontre & Carte des Membres de Developpez.com, version 3.0
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 12h19   #16
Membre Expert
 
Avatar de SnakemaN
 
Bidouille-tout Android
Inscription : juillet 2006
Messages : 871
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Bidouille-tout Android

Informations forums :
Inscription : juillet 2006
Messages : 871
Points : 1 102
Points : 1 102
ben
je croyais qu'il voulait justement accepter les ', ", ` et autre dans son son champ texte donc forcement ils vont passer dans la requete SQL

Plus d'info ici : http://msdn2.microsoft.com/fr-fr/library/ms161953.aspx
SnakemaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 12h22   #17
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
si tu lis le topic, quand tu vois addslashes et htmlentities, tu vois qu'il veut pas les accepter.

tu as mal lu.
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur.
Mon espace Développez : mes Créations.


Rencontre & Carte des Membres de Developpez.com, version 3.0
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 12h23   #18
Membre chevronné
 
Avatar de stunti
 
Inscription : mai 2006
Messages : 521
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : mai 2006
Messages : 521
Points : 602
Points : 602
J'espere que c'est un probleme de lecture et pas de comprehension.

Le but du addslashes est justement d'empecher l'injection SQL.
__________________
If it's not broken, don't fix it.
BiliBa Built on top of Zend Framework
stunti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 13h42   #19
Membre Expert
 
Avatar de SnakemaN
 
Bidouille-tout Android
Inscription : juillet 2006
Messages : 871
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Bidouille-tout Android

Informations forums :
Inscription : juillet 2006
Messages : 871
Points : 1 102
Points : 1 102
oui oui apres un bon repas et un bon café on y voit mieux !
SnakemaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h31.


 
 
 
 
Partenaires

Hébergement Web