Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/08/2006, à 09:34

Bismut

[Résolu] [PHP & SQL] Problèmes d'apostrophes et de guillemets...

Bonjour, je travaille avec XAMPP 1.5.3a en local avec PHP et SQLite 3.2.8.
Je fais des enregistrements à l'aide du module PDO_SQLITE.

Avec les magic_quotes activés, mes formulaires ne pouvaient pas envoyer de données avec apostrophes ou guillemets pour les stocker dans la base (erreur), j'ai donc un peu fouiné sur Google et j'ai décidé d'utiliser la fonction escape_string pour doubler ces carctères et ainsi stocker les données issues de mes formulaires dans ma base SQLITE3.

Jusque-là, pas de soucis : Lorsque je regarde ma base avec un SQLite3 Manager, je vois bien mes données correctement rentrées ! smile

Le problème est à l'édition ! Enfin pas tant à l'édition même, que dans la phase de remplissage automatique de mes formulaires par les valeurs déjà stockés...
En effet, lorsque c'est un champ TEXT, je le mets dans un <textarea>, ce qui donne le code suivant :

echo '<textarea name="description" rows="2" cols="45">'.$Description.'</textarea>';

> Pas de problèmes : Les guillemets et apostrophes passent bien...
Pour un champ VARCHAR en revanche, je le mets dans un input type="text", ce qui donne le code suivant :

echo '<input type="text" name="langue" size="30" maxlength="30" value="'.$Nom.'">';

> PROBLEME : Les apostrophes passent bien... MAIS avec des guillemets, ça passe pas ! Le champ n'est pris que jusqu'au 1er guillemet. hmm
Imaginons que $Nom = Bonjour "tout le monde" !
Bien je ne verrais afficher dans mon formulaire d'édition que : Bonjour
Le problème vient semble-t-il du fait que lorsque ce n'est pas un <textarea>, pour inclure une valeur par défaut, ça passe par : value="valeur par défaut..." et si cette dernière contient un guillemet, l'interprêteur PHP pense que c'est la fin de la chaine... sad

Avant, j'avais l'habitude de travailler en PHP avec MySQL avec les magic_quotes on, et sans rien toucher, tout marchait bien... Ici, j'ai dû les désactiver et utiliser escape_string pour mes requêtes d'insertion SQL dans SQLite3 pour que ça marche... mais peut-être n'est-ce pas la meilleure méthode ?


Bref, je vous serais très reconnaissant si vous pouviez m'aider, car je ne sais plus quoi faire...
Merci d'avance smile


Mac Mini 2009 avec Archlinux
Asus EeePC S101 avec Archlinux
HTC Magic avec Android

Hors ligne

#2 Le 18/08/2006, à 11:04

Tonio

Re : [Résolu] [PHP & SQL] Problèmes d'apostrophes et de guillemets...

Hello,

Remplace tes " par des &quot; .
Un coup de :

echo '<textarea name="description" rows="2" cols="45">'.htmlentities($Description).'</textarea>';

devrait marcher.

Hors ligne

#3 Le 18/08/2006, à 13:13

Bismut

Re : [Résolu] [PHP & SQL] Problèmes d'apostrophes et de guillemets...

Mon héros... wink

Grand merci à toi big_smile


Mac Mini 2009 avec Archlinux
Asus EeePC S101 avec Archlinux
HTC Magic avec Android

Hors ligne