Vous devez faire écho à la valeur pour l'afficher:
<input type="text" size="18" value="<?php echo htmlspecialchars($user, ENT_QUOTES, 'UTF-8'); ?>" />
Comme vous pouvez voir que j'ai également utilisé htmlspecialchars()
pour prévenir contre XSS attacks.
Veuillez également ne pas utiliser les fonctions mysql_*
pour nouveau code. Ils ne sont plus maintenus et la communauté a commencé le deprecation process. Voir le red box? Au lieu de cela, vous devriez en apprendre davantage sur prepared statements et utiliser soit PDO ou MySQLi. Si vous ne pouvez pas décider, this article aidera à choisir. Si vous voulez apprendre, here is a good PDO tutorial.
Une autre chose que je remarque est que vous utilisez le mot-clé global
. Il serait préférable d'injecter la connexion en tant que paramètre dans la fonction:
function SaveHTML($cn){
$content=mysql_real_escape_string($_POST["html"],$cn);
$url=mysql_real_escape_string("http://www.google.com/",$cn);
mysql_query("Insert into HTML(content,URL) values('$content','$url')");
}
Edit (mort):
Ce que je voulais le folllowing:
Supposons que vous avez un varivle $user
et la pièce du code HTML comme ci-dessous:
$html = <<<'Death'
<input type="text" size="18" value="$user" />
Death;
Si je sauve cette variable ($html
) à une base de données et dans une autre page j'envoyer ce code html pour l'utilisateur, que devrais-je faire au $user
en code html avoir la valeur de $user
en deuxième page?
Réponse: J'ai sauvé la chaîne (telle quelle) à la base de données, puis utilisé la fonction eval()
pour remplacer le $user
avec sa valeur!
EDIT PeeHaa
Notez que dans la plupart cas, il est considéré comme une mauvaise pratique d'avoir HTML dans votre base de données (à moins que vous). Je ne suis pas aussi heureux avec eval()
choses (ce qui est toujours une mauvaise pratique).
N'utilisez pas mysql_query en concaténant du code SQL avec des données lues sur le réseau. C'est un foyer pour les injections SQL. Utilisez 'prepare' à la place: http://php.net/manual/de/pdo.prepared-statements.php – ceving
Vous devriez utiliser des instructions préparées (PHP PDO) au lieu de mysql_real_escape_string. http://php.net/manual/fr/book.pdo.php. EDIT: dang, m'a obtenu par 29 secondes, je vais laisser le lien PDO pour référence. – PiZzL3