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

Форум PHP

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

 

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

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

тема: Экранируется апостроф.
 
 автор: Бамси   (30.09.2007 в 12:33)   письмо автору
 
 

Я передаю переменную через $_Session['name'], например Abc'def.
Когда другйо скрипт ее принимает, переменная превращяется в Abc\'def.
Как я понимаю вероятно на сервере включены magic_quotes.
Как мне быть?
Я сделал вот так: $_SESSION['name'] = str_replace("\\","",$_SESSION['name']);
Но не знаю на сколько это "нормально".

   
 
 автор: cheops   (30.09.2007 в 13:20)   письмо автору
 
   для: Бамси   (30.09.2007 в 12:33)
 

Обычно для этого используется функция stripslashes()
<?php
  
if(get_magic_quotes_gpc())
  {
    
$_SESSION['name'] = stripslashes($_SESSION['name']);
  }
?>

   
 
 автор: Unkind   (30.09.2007 в 14:31)   письмо автору
 
   для: Бамси   (30.09.2007 в 12:33)
 

> Я передаю переменную через $_Session['name'], например Abc'def.
> Когда другйо скрипт ее принимает, переменная превращяется в Abc\'def.


Вы неправильно, вероятно, принимаете данные перед записью в $_SESSION['name'].
magic_quotes_gpc эскейпирует спец. символы в GET, POST, COOKIE, как и следует из названия.
Поэтому нужно применять stripslashes() не на элементы $_SESSION, а еще до записи в сессию.

   
Rambler's Top100
вверх

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