|
|
|
| работает форма по добавлению текста в базу через скрипт PHP, а потом и вывод содержимого базы
попался текст с символом "/", скрипт грузить текст не хочет, выдает ошибку, запутался в вещах типа htmlspecialchars, trim. strtr, не знаю что использовать, подскажите | |
|
|
|
|
|
|
|
для: shimi
(09.06.2005 в 07:54)
| | Пусть в базу данных необходимо поместить текстовую переменную $name, а затем вывести её на HTML-страницу. Для этого, перед занесением в базу данных экранируются все спец-символы
<?php
if (!get_magic_quotes_gpc()) $name = mysql_escape_string($name);
?>
|
А перед выводом переменной на HTML-страницу она пропускается через функцию htmlspecialchars
<?php
echo htmlspecialchars($name);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(09.06.2005 в 12:04)
| | здесь описано использование htmlspecialchars перед выводом на страницу, а можно ли и нужно ли использовать это в скрипте, который отправляет данные в базу:
форма, обработка скриптом (в скрипте такие строки
$name=trim($_POST['name']);
$name=substr($_POST['name'],0,256);
$name=htmlspecialchars(stripslashes($name));
|
затем в этом скрипте уже идуд SQL-запросы для добавления в базу
P.s.: и можно на пальцах объяснить различие между этими тремя функциями, а то я пока плаваю в этом | |
|
|
|
|
|
|
|
для: amitiresome
(12.06.2005 в 00:31)
| | Да можно, использовать htmlspecialchars и перед занесением в базу данных, но это не спасёт от SQL-инъекций, которые могут повредить базу данных или с помощью которых может быть похищена кофиденциальная информация.
1) Функция trim http://www.softtime.ru/dic/id_dic=78&id_group=1 обрезает ведущие и конечные пробельные символы, т.е. принимая строку
она вернёт
2) Функция substr http://www.softtime.ru/dic/id_dic=3&id_group=1 вырезает из строки подстроку, в данном случае вырезается строка начиная с 0 символа длиной 256 символов - по сути её функция здесь сводится к тому, чтобы отрезать лишние после символы и длина строки не привышала 256 символов.
3) Функция htmlspecialchars http://www.softtime.ru/dic/id_dic=28&id_group=1 превращает все HTML-тэги в их видмые эквиваленты, в этом случае символы < и > отображаются на странице, хотя кругом HTML-код и любые тэги должны скрываться браузером и интерпретироваться. Функция htmlspecialchars заменяет < и > на < и >, что приводит к отображению их, поэтому встроить HTML-код в страницу уже не удастся. | |
|
|
|