Affichage texte avec caracteres speciaux php

Résolu/Fermé
lolo - 25 janv. 2005 à 23:17
 Alf-Red - 13 nov. 2007 à 14:12
Bonjour,

Je suis en train de creer un mini forum en php/mysql. J ai un souci, pour l instant je recupere mes donnes dans un <textarea> html. Puis je les met tel que dans base de donnees.

Au niveau de ma base tout marche bien.

Le probleme est le suivant quand j affiche les donnes enregistrees dans la base, un simple echo "$mavar", $mavar est afficher en oubliant les caracteres de retour a la ligne. Pire pour le simuler j insere dans ma base de donnes des <br> la ou je faire des retour chariot.
Donc faille de securite important si on me place un javascript il sera interpreter, je crois.

De meme pour les caracteres speciaux accent apostrophe etc.
Une idee les gars
Merci de votre entaide.

Ps: tant que j'y suis, vous savez mettre du texte de plus de 255 characteres dans une base MySQl.
A voir également:

12 réponses

Très bien dit, Alconis, très bon codeur, et respectueux avec çà !!
6
merci les gars pour les PISTES bien tracées!!!
ça marche nickel
a bientot

Pour d autres qu ont le meme probleme faire:
nl2br_indent(htmlentities($mavar, ENT_QUOTES)) ;


function nl2br_indent($string, $indent = 0)
{
//remove carriage returns
$string = str_replace("\r", '', $string);

//convert indent to whitespaces if it is a integer.
if (is_int($indent)) {
//set indent to length of the string
$indent = str_repeat(' ', (int)$indent);
}

//replace newlines with "<br />\n$indent"
$string = str_replace("\n", "<br />\n".$indent, $string);
//add the indent to the first line too
$string = $indent.$string;

return $string;
}
2
alconis Messages postés 42 Date d'inscription jeudi 4 juillet 2002 Statut Membre Dernière intervention 28 mars 2005 27
25 janv. 2005 à 23:30
Je t'invite à regarder du côté des fonctions addslashes, stripslashes et nl2br.

De plus, utilise le type LONGTEXT et non VARCHAR pour ton champ qui nécessite plus de 255 caractères.
1
alconis Messages postés 42 Date d'inscription jeudi 4 juillet 2002 Statut Membre Dernière intervention 28 mars 2005 27
25 janv. 2005 à 23:48
Pouquoi ne tapes-tu pas plutôt les fonctions php que je t'ai donné dans google ?
Jamais je ne mâcherai le travail pour quelqu'un. Je donne des pistes. A toi de les suivre.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
26 janv. 2005 à 00:17
:-)

Par contre pourquoi <br/>?
0
alconis Messages postés 42 Date d'inscription jeudi 4 juillet 2002 Statut Membre Dernière intervention 28 mars 2005 27
26 janv. 2005 à 00:24
Tout simplement parce que tout le monde devrait utiliser <br/> plutôt que <br> pour coller à la norme des balises unitaires en XML dont le HTML découle. Sa fonction utilise donc <br/> car son auteur souhaite coder proprement :)

Pour rappel, les balises façon XML avec des exemples :

- Balise seule : <br/>
- Balise seule avec attribut: <img src="kikoo.jpg" />
- Balise complexe avec attribut: <a href="kikoo.html">LIEN</a>
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
26 janv. 2005 à 00:27
Ah oui! Ben je comprends pas....
Bref, Bonne nuit :-)
0
Maillet Aimé
19 déc. 2006 à 14:52
Quend j'entoure un texte par "les formes automatiques", celles-ci n'apparaissent pas à l'impression. Ce phénomène est arrivé à mon grand étonnement je ne sais comment.
pouvez-vous m'éclaier sur ce point.
Avec mon merci et ma respectueuse considération.
AM
0
Bonjour,
tu devrais plutot générer et éditer (modifier) des fichiers.txt plutot que de travailler en SQL !!
0
sans oublier les nl2br, htmlentities et hmtlspecialchars !
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
25 janv. 2005 à 23:42
Bonsoir,

Je crois que le type text est illimité avec MySql:
http://www.toutestfacile.com/sql/cours/printables/%5BSQLFacile.com%5Dtypes.php

Mais je comprends pas, pour les retours à la ligne, l'utilisateur doit poster des <br> ? ou peut être des \n?
Et en quoi est-ce une faille pour des attaques Javascript? Et où est le soucis avec les caractères spéciaux et apostrophes?

PS: Ah désolé Alconis, j'ai posté peu après toi j'avais pas vu ton message :-)
-2
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
25 janv. 2005 à 23:54
Euh, tu as peut être cru que c'était moi qui avait posté le premier message?Confusion? :-)
-3
alconis Messages postés 42 Date d'inscription jeudi 4 juillet 2002 Statut Membre Dernière intervention 28 mars 2005 27
25 janv. 2005 à 23:57
Arf exact !! Au temps pour moi :)
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527 > alconis Messages postés 42 Date d'inscription jeudi 4 juillet 2002 Statut Membre Dernière intervention 28 mars 2005
25 janv. 2005 à 23:59
:-)
0