Каждый раз, когда выполняется POST, я получаю экранированные символы.
\ -> \\ ' -> \' " -> \"
У меня многоступенчатая форма, которая передает данные из одной формы в другую. Я сохраняю значения с подготовленными данными в базе данных. Значения в базе данных в настоящее время выглядят как Paul\'s House
. Пользователь должен иметь возможность использовать одиночные и двойные кавычки в своей строке.
Это простой пример, демонстрирующий эффект экранирования:
<?php echo $_POST['value']; ?> <form action="form.php" method="post" enctype="multipart/form-data"> <input type="hidden" name="value" value="Paul's House"> <input type="submit" value="Next"> </form>
Почему или кто избегает строки? Каков правильный способ обработки данных по нескольким формам? Каков правильный способ его сохранения в базе данных? Должен ли я использовать stripslashes()
или я открываю большое отверстие безопасности?
Похоже, вы включили Magic Quotes.
http://www.php.net/manual/en/security.magicquotes.disabling.php
Проверьте, как отключить.
Вы должны отключить magicquotes на сервере, иначе вы должны очень осторожно относиться к состоянию включения / выключения magicquotes.