| |
|
|
| | Здравствуйте.
Про
magic_quotes_runtime = Off
magic_quotes_gpc = On
я уже знаю и обрабатываю. Но пользователи моих приложений иногда жалуются на криминальное экранирование кавычек. Какие настройки php и apache отвечают за это?
Заранее спасибо. | |
| |
|
|
| |
|
|
| |
для: antf
(27.10.2007 в 10:14)
| | | Apache, к счастью, этим не занимается.
"Криминальное" экранирование может быть по Вашей вине. Вы где-то используете при включенном magic_quotes_gpc функции addslashes(), mysql_escape_string() или аналоги? | |
| |
|
|
| |
|
|
| |
для: Unkind
(27.10.2007 в 11:18)
| | | Да, но я делаю так:
if (!get_magic_quotes_gpc())
$str = mysql_escape_string($str); | |
| |
|
|
| |
|
|
| |
для: antf
(27.10.2007 в 11:39)
| | | Криминальные слэши расставлялись браузером Opera. | |
| |
|
|
| |
|
|
| |
для: antf
(27.10.2007 в 11:39)
| | | if (!get_magic_quotes_gpc()) $str = mysql_escape_string($str);
Не очень хорошо, т.к. если после выполнения запроса Вы выведете значение $str на страницу, то строка будет "криминально заэкранирована".
<?php
$str = isset($_POST['str']) ? (string) $_POST['str'] : '';
if( get_magic_quotes_gpc() )
{
$str = stripslashes( $str );
}
//...
$query = "INSERT INTO `tbl` SET `str` = '" . mysql_escape_string($str) . "';";
//...
echo "String: " . $str;
?>
|
| |
| |
|
|