Permettre les ",' dans un champs
Résolu/Fermé
samghami
Messages postés
61
Date d'inscription
mercredi 21 mars 2012
Statut
Membre
Dernière intervention
2 mars 2016
-
18 juin 2012 à 17:43
Utilisateur anonyme - 20 juin 2012 à 16:33
Utilisateur anonyme - 20 juin 2012 à 16:33
A voir également:
- Permettre les ",' dans un champs
- Le sous-domaine utilise déjà un enregistrement dns. vous ne pouvez pas enregistrer de champ cname en raison d'une incompatibilité. supprimez les enregistrements existants pour ce sous-domaine, afin de pouvoir en ajouter un, de type cname. ✓ - Forum Hébergement
- Word mettre à jour tous les champs ✓ - Forum Word
- Access concatener 2 champs - Forum Access
- La chevauchée des champs de blé explication - Forum Musique / Radio / Clip
- Tcd mettre deux champs sur la même ligne - Forum Excel
5 réponses
vordano
Messages postés
1682
Date d'inscription
mardi 12 juillet 2011
Statut
Membre
Dernière intervention
20 juillet 2012
316
Modifié par vordano le 18/06/2012 à 17:49
Modifié par vordano le 18/06/2012 à 17:49
salut,
pour les " et ' tu peux utiliser des fonctions d'encodage (que tu peux trouver facilement sur internet si tu avais cherché)
et pour ton histoire de variable qu'on peux afficher en nottant son nom dans une zone de texte, tu devrais revoir ton code, utiliser des les " (double quote) pour afficher tes messages (vu que les doubles quote n'interprète pas les variables).
vérifier le code concerné par l'affichage du contenu de ta variable (il y as probablement un détail qui provoque l'erreur)
pour les " et ' tu peux utiliser des fonctions d'encodage (que tu peux trouver facilement sur internet si tu avais cherché)
et pour ton histoire de variable qu'on peux afficher en nottant son nom dans une zone de texte, tu devrais revoir ton code, utiliser des les " (double quote) pour afficher tes messages (vu que les doubles quote n'interprète pas les variables).
vérifier le code concerné par l'affichage du contenu de ta variable (il y as probablement un détail qui provoque l'erreur)
pfdp0
Messages postés
168
Date d'inscription
jeudi 22 décembre 2011
Statut
Membre
Dernière intervention
16 janvier 2018
12
Modifié par pfdp0 le 18/06/2012 à 19:33
Modifié par pfdp0 le 18/06/2012 à 19:33
Il y a beaucoup plus simple: tu mets
echo htmlspecialchars($variable);ça devrait aller...
samghami
Messages postés
61
Date d'inscription
mercredi 21 mars 2012
Statut
Membre
Dernière intervention
2 mars 2016
1
18 juin 2012 à 20:03
18 juin 2012 à 20:03
Oui mais pour l'insérer le mettre dans la base de données je fais comment ?
pfdp0
Messages postés
168
Date d'inscription
jeudi 22 décembre 2011
Statut
Membre
Dernière intervention
16 janvier 2018
12
Modifié par pfdp0 le 18/06/2012 à 20:16
Modifié par pfdp0 le 18/06/2012 à 20:16
bah tu peux aussi en mettre
$_POST['texte'] = htmlspecialchars($_POST['texte']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
samghami
Messages postés
61
Date d'inscription
mercredi 21 mars 2012
Statut
Membre
Dernière intervention
2 mars 2016
1
18 juin 2012 à 21:53
18 juin 2012 à 21:53
j'ai mis cela:
Mais cela ne fonctionne pas :-/
if (isset($_POST["statue"])) { extract($_POST); $statue = addslashes($statue); $_POST['statue'] = htmlspecialchars($_POST['statue']); $statue = htmlspecialchars($_POST["statue"]); $auteur = $userrow['charname']; $profil_name = $utilisateurrow["charname"]; $query = doquery("INSERT INTO {{table}} SET id='',date=NOW(),profil_name='$profil_name', content='$statue', auteur='$auteur'", "dynabook"); }
Mais cela ne fonctionne pas :-/
Tralala8
Messages postés
120
Date d'inscription
mercredi 17 août 2011
Statut
Membre
Dernière intervention
12 février 2013
14
19 juin 2012 à 12:06
19 juin 2012 à 12:06
Bon alors on va procéder dans l'ordre :
Les trois premières lignes de ta condition ne servent à rien dans ton cas : tu peux les virer.
$userrow["charname"] et $utilisateurrow["charname"] : il y a quoi comme valeur dans ces variables ? Elles ne sont définies nulle part.
Les trois premières lignes de ta condition ne servent à rien dans ton cas : tu peux les virer.
$userrow["charname"] et $utilisateurrow["charname"] : il y a quoi comme valeur dans ces variables ? Elles ne sont définies nulle part.
pfdp0
Messages postés
168
Date d'inscription
jeudi 22 décembre 2011
Statut
Membre
Dernière intervention
16 janvier 2018
12
19 juin 2012 à 17:39
19 juin 2012 à 17:39
Normalement mettre ça suffit:
$_POST['texte'] = htmlspecialchars($_POST['texte']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
Utilisateur anonyme
20 juin 2012 à 09:32
20 juin 2012 à 09:32
salut,
avants de mettre les post ou get dans une base de donnée, tu fais les fait passer en parametre dans la fonction mysql_real_escape_string(); et tu recuperes la sortie, normalement ca resoudera ton probleme...
avants de mettre les post ou get dans une base de donnée, tu fais les fait passer en parametre dans la fonction mysql_real_escape_string(); et tu recuperes la sortie, normalement ca resoudera ton probleme...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mihawk
Messages postés
4313
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
845
Modifié par Mihawk le 20/06/2012 à 10:26
Modifié par Mihawk le 20/06/2012 à 10:26
Bonjour,
Il y a aussi la fonction "addslashes($maChaine);" qui permet d'échapper les caractères tels que les quote, afin d'éviter qu'ils ne soient détecter comme des fins de chaîne par les scripts.
Une fois les infos en base, on les récupère normalement et on enlève les antislashes en trop par la méthode "stripslashes($maChaine);"
Mihawk
"The Weapon of Choice"
Il y a aussi la fonction "addslashes($maChaine);" qui permet d'échapper les caractères tels que les quote, afin d'éviter qu'ils ne soient détecter comme des fins de chaîne par les scripts.
Une fois les infos en base, on les récupère normalement et on enlève les antislashes en trop par la méthode "stripslashes($maChaine);"
Mihawk
"The Weapon of Choice"
18 juin 2012 à 18:05
voila ce que j'ai mis:
18 juin 2012 à 18:14
extract($_POST);
$statue = addslashes($statue);
sont (selon moi) complètement inutile (enfin surtout la seconde, mais d'après ce que dit la doc sur extract(), c'est pas utile non plus)
$statue ne contient rien, toi tu ajoute des \ mais en prime tu écrase l'éventuel valeur de $statue pour la remplacer par $_POST['statue']
pour l'encodage, tu peux utiliser ça: https://www.php.net/manual/fr/function.urlencode.php
tu stock les chaines encodé dans ta base, et tu les décodes quand tu veux les lire
18 juin 2012 à 18:18
18 juin 2012 à 18:30
si par exemple dans ta variable $statue se trouve la chaine $auteur: actuellement la méthode doquery feras la conversion $statue->$auteur->$userrow['charname']->machin
donc il faut utiliser une méthode qui encoderas le $ de $statue afin que la chaine soit enregistré comme tel.
bon après il existe probablement un truc plus simple, mais je pars du principe qu'un développeur dois avoir le contrôle des données qu'il traite, donc tu peux faire tout les traitements que tu veux a tes données, si tu fait les traitement inverse pour pouvoir les lire, ça passe
18 juin 2012 à 18:37
Car je débute vraiment dans le webmastering (si tu préfère j'ai que 16 ans et je fais ça que depuis 9-10 mois :) )