| Функция Confirm box |
|
|
|
| Палыч, 11.04.2011, 23:50 | ||||||||||||||||||||||||
|
confirm_box — Предоставляет сообщение о подтверждении действия. Предлагает выбрать варианты «Да» или «Нет». Подтверждения следует отображать перед совершением любых ключевых операций (например, удаление чего-либо).
Описание
bool confirm_box ( $check [, $title [, $hidden [, $html_body [, $u_action ]]]] ) Сообщения о подтверждении являются системой защиты критических действий phpBB3 от CSRF-атак и случайных (нежелательных) выполнений. Система очень простая: функция может быть вызвана в режиме проверки, при котором проверяется наличие строки однократного подтверждения, переданной в качестве параметра запроса (GET, POST и так далее), либо в режиме отображения, при котором отобразится окно с подтверждением.
Параметры
В общем случае вам нужно будет предоставить первые три параметра, при этом остальные два обычно остаются по умолчанию. Второй параметр должен быть языковым ключом, который объясняет пользователю, для чего это подтверждение. Третий параметр, $hidden, должен содержать HTML-код для скрытых полей, содержащих все отправленные (пользователем или сгенерированные автоматически) значения, требуемые для правильного выполнения скрипта и которые существовали к тому моменту, когда была вызвана функция подтверждения.
Возвращаемые значения
Возвращает true (истину), если пользователь подтвердил операцию, false (ложь), если пользователь отменил или если возникла ошибка.
Примеры
Пример №1: Типичное использование
if ($submit)
{
// режим проверки
if (confirm_box(true))
{
submit($my_message);
}
else
{
$s_hidden_fields = build_hidden_fields(array(
'submit' => true,
'my_mesage' => $my_message,
)
);
// режим отображения
confirm_box(false, 'SAMPLE_LANG_KEY', $s_hidden_fields);
}
}
Замечание: При использовании confirm_box(), вызов функций add_form_key() и check_form_key() не требуется (для защиты от CSRF). |