гвоздь обработки htmlspecialchars
тут два исходника php+mysql.
1 - берет из таблицы строчку где есть переменная text и (обрабатывая ее htmlspecialchars для безопасности) выводит ее в textarea. При желании эти данные можно обновить и нажать кнопку submit.
2 - обновленные данные передаются во второй сценарий, который заносит $_POST['text'] обратно в таблицу.
Проблема в том, что символы ' и \ переменной text с каждым разом обрастают все больше и больше из-за того, что htmlspecialchars каждый раз добавляет к ним \. Кто нибудь с этим боролся?
Спасибо
Код:
<?php
mysql_connect ($host, $user, $pass);
mysql_select_db ($db);
$result=mysql_query('select * from '.$table.' where id=1');
mysql_close();
echo '<form method="post" action="asdf2.php">
<textarea name="text">'.htmlspecialchars($result['text']).'</textarea>
<input type=submit />
</form>';
?>
mysql_connect ($host, $user, $pass);
mysql_select_db ($db);
$result=mysql_query('select * from '.$table.' where id=1');
mysql_close();
echo '<form method="post" action="asdf2.php">
<textarea name="text">'.htmlspecialchars($result['text']).'</textarea>
<input type=submit />
</form>';
?>
Код:
<?php
mysql_connect ($host, $user, $pass);
mysql_select_db ($db);
mysql_query('update '.$table.' set text='.$_POST['text'].'where id=1');
mysql_close();
?>
mysql_connect ($host, $user, $pass);
mysql_select_db ($db);
mysql_query('update '.$table.' set text='.$_POST['text'].'where id=1');
mysql_close();
?>
stripcslashes()
и mysql_escape_string при добавлении в базу данных.