Привет.
Перенес свой сайт с одного хостинга на другой. Сайт самописный на PHP + MySQL.
Появилась проблема, когда заполняю какую-то форму, а потом записываю в базу данных, делается лишнее экранирование кавычек.
Например в input поле пишу - "Какой-то" пример
В результате в базу записывается - \"Какой-то\" пример
Как поправить?
Заранее спасибо.
1. event - 01 Мая, 2015 - 00:56:10 - перейти к сообщению
2. Мелкий - 01 Мая, 2015 - 01:03:07 - перейти к сообщению
Выключите магические кавычки. А лучше обновите PHP. Уже в устаревшем 5.4 их выпилили.
3. resik - 01 Мая, 2015 - 01:14:03 - перейти к сообщению
Через .htaccess
CODE (text):
скопировать код в буфер обмена
скопировать код в буфер обмена
- php_flag magic_quotes_gpc off
- php_flag magic_quotes_runtime off
- php_flag magic_quotes_sybase off
или же объявить этот класс перед использованием данных $_POST/$_GET в зависимости от метода формы
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- class FixMagicQuotes {
- public function __construct() {
- $_GET = $this->stripslashes_deep($_GET);
- $_POST = $this->stripslashes_deep($_POST);
- $_COOKIE = $this->stripslashes_deep($_COOKIE);
- $_REQUEST = $this->stripslashes_deep($_REQUEST);
- $_SESSION = $this->stripslashes_deep($_SESSION);
- $_SERVER = $this->stripslashes_deep($_SERVER);
- $_FILES = $this->stripslashes_deep($_FILES);
- $_ENV = $this->stripslashes_deep($_ENV);
- }
- }
- function stripslashes_deep($mixed) {
- }
- return $mixed;
- }
- }
- new FixMagicQuotes();
такой еще вариант
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- function remove_magic_quotes(&$array) {
- if($sk != $key){
- $array[$sk] = $array[$key];
- $key = $sk;
- }
- remove_magic_quotes($array[$key]);
- }else {
- }
- }
- }
- }