Регистрация
Вход через соцсети
Восстановление пароля

Warning: stripslashes()

Новый топик
Страницы: 1  |  2
27.03.2013, 14:33
Ответить | Цитировать
Сергей
ВебКей

Зарегистрирован:
2010-12-31
Сообщений: 27

За целую неделю, я уже и с такими кавычками пробовал, и с другими, и без них тоже. Хотя это никоим образом не должно влиять, но все же. Кроме того, я очень сблизился с Яндексом, и вступил в тесный контакт с Гуглом. Ничего не помогает. А общение с техподдержкой почти всегда заканчивается коронной фразой: "Дайте доступ к вашему проекту". улыбка

Сейчас попробовал проделать тоже самое на другой установке НетКэт 5.02 - такая же ошибка.
Такое ощущение, что $_GET - ругательное слово, и цензура НетКэт его не пропускает. думает
27.03.2013, 17:42
Ответить | Цитировать
Гость
Гость

причина кроется в строчке 145 файла netcat/add.php. Когда значение переменной $template_variable равно _GET (а оно точно там будет, так как регуляркой все переменные из шаблона добавления выгребаются), то условие становиться истинным: $_REQUEST['_GET'] == $_GET и эта переменная попадает в функцию stripslashes: stripslashes($_GET), которая выкидывает предупреждение.
Решается данная проблема очень просто, в условие нужно добавить проверку на существование ключа $template_variable, а вместо функции stripslashes использовать более "умную" функцию, которая сможет обрабатывать массивы. надеюсь понятно объяснил, в чем там проблема улыбка
27.03.2013, 22:06
Ответить | Цитировать
Сергей
ВебКей

Зарегистрирован:
2010-12-31
Сообщений: 27

Я не гуру в PHP, но примерно понял...
А почему же тогда на $_POST функция нормально реагирует, и не вызывает ошибку?
27.03.2013, 22:35
Ответить | Цитировать
Гость
Гость

не ругается на $_POST, так как массив $_POST содержит данные (форма же отравляется на сервер). в случае c $_GET - массив $_GET пуст (если аттрибут action тега form не содержит GET-параметров).
$_REQUEST['_GET'] вернет NULL, так как ключ отсутствует. в операциях сравнения NULL приводится к false, пустой массив приводится к false, откуда и получаем, что $_REQUEST['_GET'] == $_GET.
здесь www.php.su/learnphp/datatypes/?compare_tables можно почитать более подробно.
28.03.2013, 03:11
Ответить | Цитировать
Сергей
ВебКей

Зарегистрирован:
2010-12-31
Сообщений: 27

Понятно, спасибо за разъяснение!
Остается ждать более "умную" функцию обработки массивов от НетКэт. Ну или учить PHP, чтобы ковыряться в файлах системы. улыбка
198 196 2013-03-28 03:11:59 12963
Страницы: 1  |  2
Описание проекта