Эта тема на forum.dklab.ru


Kesha V: Помогите с обратными кавычками
Доброго времени суток.

Вот напоролся на такую вот странность:

HTML страница:

<form action="add.php" method="post">
<textarea id="cont" name="cont" cols="60" rows="30"></textarea>
</form>


Код скрипта:

<?php
print_r($_POST);
?>


Не пойму, почему, когда я ввожу в TextArea текст, содержащий кавычки. Ну например: Мама 'мыла' раму, то в скрипт он передается с обратными слешами ?
То есть, скрипт выведет:

Array
(
[cont] => Мама \'мыла\' раму
)


Подскаите плиз, а кто это кавычки слешами отметил ? С помощью сниффера я посмотрел, что http запрос правильно передал саму строку без слешей.

P.S. Юзаю Денвер, как на серваке будет пока не знаю.
Kesha V:
Извиняюсь, что ступил и не нашел сразу ответ. Может юыть это кому-то поможет:

(в начале скрипта вставить)

function stripslashes_deep( $value )
{
$value = is_array( $value ) ? array_map( 'stripslashes_deep', $value ) : stripslashes( $value );

return $value;
}

if( get_magic_quotes_gpc() )
{
$_GET = stripslashes_deep( $_GET );
$_POST = stripslashes_deep( $_POST );
}

dimagolov:
Потому что Штука суть вредная и ее надо отключать. То, что Вы написали - это только если не можете отключить их в конфиге php. Если можете, то отключите и не делайте лишних телодвижений
Kesha V:
Я могу отключить это в денвере, но что происходит на хостинге, я пока не могу знать. Поэтому пришлось сделать такое вот универсальное решение.
dimagolov:
Kesha V, ну почитайте же мануал, ссылку я дал. Там большими буквами написано как именно отключать и где это можно сделать.
bæv:
http://phpfaq.ru/slashes
kernel32:
http://forum.dklab.ru/php/advises/UndoMagic_quotes.html
Matskoff-Lion:
В ".htaccess" пропишите
php_value magic_quotes_gpc off

Апач стоит почти на всех хостинг серверах, а поддержка его стоит даже на бесплатных хостингах, поддерживающих РНР скрипты.

P.S. не усложняйте себе жизнь лишними телодвижениями, как сказал dimagolov

Эта тема на forum.dklab.ru