Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Искажение информации при её вводе в скрипт
 
 автор: Владимир55   (18.11.2006 в 12:27)   письмо автору
 
 

Для ввода информации я использую вот такую форму:
<form method="POST" actioninse="insert.php"><p><textarea rows="1" name='namebook' cols="75"></textarea> <input type="submit" value="Отправить" name="B2"></p></form>

Но когда обработчик insert.php вытаскивает информацию из глобальной переменной, то искажается некоторая часть текста, содержащая кавычки . Например, при вводе

Пушкин. "Евгений Онегин"

получается так: Пушкин. \"Евгений Онегин\"

Запретить пользователям применение кавычек при вводе я не могу, так что хотелось бы освободиться от этого дефекта. Как бы это сделать?

   
 
 автор: ihoru   (18.11.2006 в 12:47)   письмо автору
 
   для: Владимир55   (18.11.2006 в 12:27)
 

это вы, видимо, из файла считывает :)
есть функция
stripslashes ($str_with_slashes)
, которая удаляет все лишние косые черточки!

   
 
 автор: Владимир55   (18.11.2006 в 12:58)   письмо автору
 
   для: ihoru   (18.11.2006 в 12:47)
 

1. Вот я посредством обработчика вытащил свой текст из глобальной переменной

$namebook = $_POST['namebook'];

Куда мне вставить stripslashes ($str_with_slashes) ?

2. Удаляются только обратные косые \ ? А прямые косые / не пострадают?

3. «Лишние» косые – это что? То, что образовалось в процессе обработки информации скриптом? А если косые изначально были в тексте (а текст может быть всяким – мало ли чего авторы насочиняют!), тогда как – их тоже удалят? Например что получится при вводе такого текста:

описывается уравнением s ** f \ 25

   
 
 автор: ihoru   (18.11.2006 в 13:06)   письмо автору
 
   для: Владимир55   (18.11.2006 в 12:58)
 

1.
$namebook = stripslashes ($_POST['namebook']);

2. "/" не пострадают, потому что "\" - они называют экраном, они экранирую специальные символы

3. Их не удалят, т.к. они при обработке тоже заэкранируются!

   
 
 автор: Владимир55   (18.11.2006 в 14:03)   письмо автору
 
   для: ihoru   (18.11.2006 в 13:06)
 

Спасибо, получилось просто великолепно - все лишнее уничтожилось, но ничего нужного не пострадало!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования