Je souhaite sauvegarder du texte formaté HTML dans la base de données, mais lorsque je le fais, il ne regarde pas les symboles HTML comme > 'et d'autres
C'est ainsi que j'ai lu l'article de la base de données pour l'édition: après cela génère un tel code HTML: p> donc, je m'attends à ce que je pense que Ce texte apparaîtra dans mon champ de texte, dans le code HTML de cette page, mais dans la zone texte est non. P> dans la base de données Je l'enregistre comme suit: p> <p class="Title"> Hello </p>
3 Réponses :
sauvegardez-le sur un champ Nvarparar (max). P>
Assurez-vous d'utiliser des requêtes paramétrées pour la sécurité. Lire p>
http://www.aspnet101.com/2007 / 03 / paramétré-requis-in-asp-net / p>
http://msdn.microsoft.com/msdnmag/issues/04 / 09 / SQLINJUTE / P>
Avec peu de modifications sur SQL, vous pouvez appliquer à MySQL ASLO P>
Essayez d'utiliser htmlspecialchars () code> sur la chaîne pour mettre dans la db, puis, lorsque vous le tirez en arrière, utilisez-le htmlspecialchars_decode () code>. Pourrait faire une différence. P>
Certains caractères ont une signification particulière dans HTML et doivent être représentés par des entités HTML s'ils veulent préserver leurs significations. Cette fonction renvoie une chaîne avec certaines de ces conversions faites; Les traductions formulées sont celles les plus utiles pour la programmation web quotidienne. Si vous souhaitez que toutes les entités de caractères HTML soient traduites, utilisez plutôt HTMLENTités ().
Il n'y a aucun problème à enregistrer votre code HTML dans la base de données. et pas besoin de filtrer des données avant d'enregistrer.
Mais quand vous voulez le montrer à nouveau dans in php Vous pouvez utiliser ce code pour échapper aux codes HTML: P> Voir doc: HTMLSpecialchars P>
textarea code> vous devriez code> évape code> it.
$cotnent = esc_textarea( $cotnent );
Êtes-vous sûr de ne pas enregistrer les symboles HTML comme >?
Oui, ça ne sauve pas de tels symboles
Cela fait. ça fait tout simplement.
Quant aux autres symboles, tels que 'ou \, faites toujours
$ parentname = mysql_real_escapape_string ($ parentname); code> et ainsi de suite pour chaque variable que vous mettez dans des devisTextarea a à la fois des balises d'ouverture et de fermeture. et aucun attribut de valeur.
S'il n'a pas d'attribut de valeur - comment puis-je enregistrer l'article modifié à la base de données? Comment attribuer un champ variable et textarea? Pourquoi cela fonctionnait plus tôt quand j'ai utilisé l'attribut de valeur?
Heh, il a raison, n'a pas tapé ça. Texareas fonctionne contrairement à la plupart des entrées de formes. Ressemble à ceci
Oh, aussi, la substance entre les balises est sa valeur, tout est mis en $ _Post ou $ _GET ou quel que soit le nom de l'élément Texarea. Donc, bla bla bla bla bla bla textarea> code> serait $ _Post ["commentaires"] et serait égal à "bla blah blah bla bla bla". Si vous aviez une chaîne $ String = "bla bla bla bla bla bla bla" et sortie
écho ' "$ string.' Textarea> '; code> alors vous Obtenez une zone de texte avec «bla bla bla bla bla bla» pré-remplissait.