Эта настройка указывает PHP, нужно ли ему ставить дополнительный слэш перед всеми апострофами ', кавычками ", обратными слэшами \ и нулевыми символами (0) при приеме данных из браузера пользователя— например, поступивших из формы. Я предпочитаю всегда отключать этот параметр, потому что от него больше проблем, чем пользы. Например, следующий вроде бы верный сценарий при повторном нажатии кнопки,
если в каком-нибудь текстовом поле введена кавычка,
будет ее "размножать":
<?
// Äåëàåì ÷òî-íèáóäü, åñëè íàæàòà êíîïêà Go!
?>
<form action=<?echo $SCRIPT_NAME?> method=post>
<input type=text name=name value="<?=@HtmlSpecialChars($name)?>">
<input type=text name=email value="<?=@HtmlSpecialChars($email)?>">
<input type=submit name=submit value="Go!">
</form>
Мы получаем явно не то, что требовалось: мы хотели просто, чтобы значение поля text сохранялось неизменным между запусками сценария. Оператор @ подавляет сообщение об ошибке для следующего за ним выражения, если она происходит (в нашем случае — при первом запуске сценария, когда переменные $name и $email еще не инициализированы).