Textarea problème
Résolu
Hoeneim
Messages postés
346
Statut
Membre
-
Hoeneim Messages postés 346 Statut Membre -
Hoeneim Messages postés 346 Statut Membre -
Bonjour, j'aurais voulu savoir comment autoriser de poster du code html dans un textarea ?
14 réponses
bonjour,
rien ne t'empêche de mettre du code html dans un textarea.
c'est le traitement de ton formulaire qui peut être plus compliquer
Quel est ton problème?
rien ne t'empêche de mettre du code html dans un textarea.
c'est le traitement de ton formulaire qui peut être plus compliquer
Quel est ton problème?
Le contenu de ta textarea est envoyé puis traité par un script php ?
Si c'est ça, pourrais tu envoyer le code du script php ?
Si c'est ça, pourrais tu envoyer le code du script php ?
Oui c'est un script de news, il me semble que c'est htmlentities j'ai crus voir un sujet là dessus mais je ne sais pas quoi en faire, j'ai essayé de le supprimer mais rien y fait, le code apparait en tant que text.
Merci à vous.
Merci à vous.
<?
//// Cap_news v1.0 12/05/2004 ////
session_start();
if(!isset($_SESSION['ident'])) {
$_SESSION['ident'] = false ;
}
require_once('config.php');
$db_link = @mysql_connect(SQL_SERVER,SQL_USER,SQL_PASS);
mysql_select_db(SQL_BDD);
if(isset($_POST)) {
foreach($_POST as $k => $v) {
$_POST[$k] = trim(htmlspecialchars($v)) ;
}
}
if(isset($_GET)) {
foreach($_GET as $k => $v) {
$_GET[$k] = trim(htmlspecialchars($v)) ;
}
}
//print'<style type="text/css"> @import url(css-capnews.css); </style>';
if(isset($_POST['login']) && $_POST['login'] == LOGIN
&& isset($_POST['pass']) && $_POST['pass'] == PASS) {
$_SESSION['ident'] = true ;
}
if($_SESSION['ident'] == false) {
print ' <div id="cap_cadre"><br /><br /><strong>Identification</strong>
<form action="admin.php" method="post">
Login<br />
<input type="text" name="login" size="25" /><br />
Password<br />
<input type="password" name="pass" size="25" /><br />
<input type="submit" value="Valider" /></form></div>';
}
elseif($_SESSION['ident'] == true) {
if(isset($_POST['send'])) {
if($_POST['send'] == 'new') {
$sql = "INSERT INTO cap_news (auteur,date,titre,news,active)
values
('".$_POST['auteur']."',now(),'".$_POST['titre']."','".$_POST['news']."','1')";
}
elseif($_POST['send'] == 'update') {
$sql = 'update cap_news set titre = "'.$_POST['titre'].'", auteur =
"'.$_POST['auteur'].'", news = "'.$_POST['news'].'", date =
"'.$_POST['date'].'" WHERE newsId = "'.$_POST['newsId'].'"';
}
mysql_query($sql,$db_link) or die(mysql_error());
}
if(isset($_GET['delete']) and is_numeric($_GET['delete'])) {
mysql_query("delete from cap_news where newsId =
\"".$_GET['delete']."\"",$db_link);
header("location: admin.php");
}
if(isset($_GET['edit']) and is_numeric($_GET['edit'])) {
$Id = $_GET['edit'] ;
$sql = 'SELECT * FROM cap_news WHERE newsId = "'.$Id.'" LIMIT 1' ;
$rc = mysql_query($sql,$db_link);
while($data = mysql_fetch_array($rc)) {
print '<div id="cap_cadre">
<form action="admin.php" method="post">
<strong>Modification d\'une news :</strong><br /><br />
Titre<br />
<input type="text" name="titre" maxlength="120"
value="'.htmlentities($data['titre']).'"/><br />
Auteur<br />
<input type="text" name="auteur" maxlenght="60"
value="'.htmlentities($data['auteur']).'" /><br />
Date de la News<br />
<input type="text" name="date" size="10" value="'.$data['date'].'" />
News (sans html)<br />
<textarea name="news" cols="40"
rows="6">'.htmlentities($data['news']).'</textarea>
<br /><input type="submit" value="Valider" />
<input type="hidden" name="newsId" value="'.$_GET['edit'].'" />
<input type="hidden" name="send" value="update" />
</form>
<hr /><br />';
}
}
else {
print '<div id="cap_cadre">
<form action="admin.php" method="post">
<strong>Ajouter une news :</strong><br /><br />
Titre<br />
<input type="text" name="titre" maxlength="120" /><br />
Auteur<br />
<input type="text" name="auteur" maxlenght="60" /><br />
News (sans html)<br />
<textarea name="news" cols="40" rows="6"></textarea>
<br /><input type="submit" value="Valider" />
<input type="hidden" name="send" value="new" />
</form>
<hr /><br />
<strong>Gestion des News :</strong><br /><br /><ul>';
$sql = 'SELECT * FROM cap_news ORDER BY newsId DESC' ;
$rc = mysql_query($sql,$db_link);
while($data = mysql_fetch_array($rc)) {
print '<li>
Le '.$data['date'].' par '.$data['auteur'].', Titre : '.$data['titre'].'
<br />=> <a href="?delete='.$data['newsId'].'">Supprimer</a> -
<a href="?edit='.$data['newsId'].'">Editer</a></li>
';
}
print'</ul>' ;
}
print'</div>';
}
//// Capoune.net ////
?>
normalement il te suffirait de supprimer tous les htmlentities() présents dans le code, je ne vois pas trop pourquoi cela ne fonctionne pas en les supprimants... tu n'a pas d'erreurs d'affichés ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai une erreur Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING sur les lignes où se trouvait les htmlentities.
Enfait je dois pas les supprimer correctement (moi et le php... :S )
Tu pourrais m'indiquer quoi supprimer pour éviter l'erreur de syntaxe ?
J'ai essayé plusieurs choses mais j'ai jamais la bonne syntaxe =(
Enfait je dois pas les supprimer correctement (moi et le php... :S )
Tu pourrais m'indiquer quoi supprimer pour éviter l'erreur de syntaxe ?
J'ai essayé plusieurs choses mais j'ai jamais la bonne syntaxe =(
Il te suffie de supprimer le nom de la fonction et les paranthèse :
deviendront
htmlentities($data['news']) $_GET[$k] = trim(htmlspecialchars($v)) ;
deviendront
$data['news'] $_GET[$k] = trim($v) ;
Merci beaucoup de m'aider mais malheureusement j'ai toujours l'erreur: Parse error: syntax error, unexpected T_STRING
J'ai remplacé mon textarea par ça :
J'ai remplacé mon textarea par ça :
<textarea name="news" cols="40"
rows="6">$data['news']</textarea>
<textarea name="news" cols="40" rows="6">'.$data['news'].'</textarea>
il faut laisser les " '. " et " .' " ;)
Merci beaucoup le html fonctionne.
Tu aurais une solution pour que les accents s'affichent correctement?
J'ai essayé de mettre une meta dans l'index du script (où les news sont écrites ) mais rien y fait. Devrais-je ajouter quelque chose dans ce code-ci ? (posté plus haut)
Tu aurais une solution pour que les accents s'affichent correctement?
J'ai essayé de mettre une meta dans l'index du script (où les news sont écrites ) mais rien y fait. Devrais-je ajouter quelque chose dans ce code-ci ? (posté plus haut)
dans ton meta, tu a mis charset=utf-8 ou charset=iso-8859-1 ? si tu a mis utf-8 essai en remplaçant par isp-8859-1 et vice-versa.
sinon tu peu essayer de remplacer les htmlentities par des " utf8_encode() "
sinon tu peu essayer de remplacer les htmlentities par des " utf8_encode() "
il faudrait le faire manuellement, le faire automatiquement voudrait dire réutiliser htmlentities ...
(merci microsoft pour ce superbe navigateur...)
(merci microsoft pour ce superbe navigateur...)
En tout cas le problème est réglé sous firefox, c'est sur mon site que je devais changer le charset, j'avais due y toucher à force de bidouiller. ^^'
Et j'ai ouvert mon site avec IE et ça à l'air bon.
Merci beaucoup je pense que mes problèmes sont résolu. C'est vrai que IE n'est pas très bon... :/
Quand j'ai réalisé mon site y a fallu que je contrôle sans arrête sous IE pour voir si y avait pas une div qui se faisait la malle :/
*/Merci à Sonik21 pour sa patience ^^' */
Et j'ai ouvert mon site avec IE et ça à l'air bon.
Merci beaucoup je pense que mes problèmes sont résolu. C'est vrai que IE n'est pas très bon... :/
Quand j'ai réalisé mon site y a fallu que je contrôle sans arrête sous IE pour voir si y avait pas une div qui se faisait la malle :/
*/Merci à Sonik21 pour sa patience ^^' */