|
|
|
|
|
для: SMAlik
(04.07.2005 в 07:52)
| | Всё, уже разобрался. Вот ответ на вопрос. Авось кому пригодиться:
Примечание: формы
При выводе value в тегах input форм, слеши не помогают.
Чтобы текст в таком поле выводился целиком, value надо заключать в кавычки, а к выводимым данным применять функцию htmlspecialchars()
Пример:
<input type="text" name="name" value="<? echo htmlspecialchars($name,ENT_QUOTES)?>">
<textarea><? echo htmlspecialchars($text,ENT_QUOTES)?></textarea>
Необходимо так же отметить (хоть это уже совсем не имеет отношения к кавычкам и слешам), что функцию htmlspecialchars следует применять при выводе в браузер вообще ко всем данным, которые получены от непроверенного пользователя. | |
|
|
|
|
|
|
| При запросе в поля добавляется всего одно слово, а если вывести просто в рабочую область, то полный текст. Как сделать, чтобы выводил полностью?
elseif ($id==2)
{
echo $id;
echo "<form action=news.phtml?id=2 method=post> ";
@ $db=mysql_pconnect('localhost', 'root', '');
if (!$db)
{
echo 'Error';
exit;
}
mysql_select_db("sitiart");
if( isset( $_POST['update'] ) )
{
$query="update news values (null, '$title','$text', '$lin', '$data')";
}
else
{
$query="SELECT news.title, news.text, news.link FROM news";
$result=mysql_query($query);
$num=mysql_num_rows($result);
for($i=0; $i<$num; $i++)
{
$row=mysql_fetch_array($result);
$title=stripslashes($row[title]);
$text=stripslashes($row[text]);
$lin=stripslashes($row[link]);
echo "<tr>Заголовок <input type=text class=tx name=title[$i] value=$title></tr>
<tr>Текст <input type=text class=tx name=text[$i] value=$text></tr>
<tr>Ссылка <input type=text class=tx name=lin[$i] value=$lin></tr>
<tr><hr></tr>";
}
}
echo "<tr><input type=submit name=update value=Обновить><br></tr>
</form>";
}
|
| |
|
|
|
|