Отправка данных с формы на другой ресурс
Доброго времени суток! Срочно нужна помощь. Требуется, чтобы данные, введенные пользователем в форме на одном ресурсе, отправлялись на другой ресурс и там вызывались, а также одновременно — эти же данные отправлялись на email. С отправкой на email проблем не возникло, использую ajaxForm. Кто чем сможет — помогите!!!
Комментарии: 4
Создаёте сниппет saveFields
foreach ($_POST as $k => $v) {
$_SESSION['form'][$k] = $v;
}
Вызываете его перед отправкой почты, а после — делаете редирект
[[!FormIt?
&hooks=`saveFields,email,redirect`
&emailTo=`test@test.ru`
&emailSubject=`Заказ обратного звонка`
&emailTpl=`tpl.mail.contact`
&redirectTo=`5`
]]
На странице с ID 5 данные формы будут доступны. Достаточно вызывать сниппет, например, fieldsToPlaceholders
$modx->toPlaceholders($_SESSION['form']);
На странице с ID 5 данные формы будут доступны. Достаточно вызывать сниппет, например, fieldsToPlaceholdersА если стоит pdoTools можно обойтись без сниппета
[[!#SESSION.form.field_name]]
Ну или использовать fenom.Очень важно!!!
Нельзя выводить необработанные данные из POST на страницу. Их нужно обработать! Как минимум через strip_tags().
//Так
foreach ($_POST as $k => $v) {
$_SESSION['form'][$k] = $modx->stripTags($v);
}
// или так
$_SESSION['form'] = $modx->sanitize($_POST);
Иначе может случится чаво нехорошее.
Во втором варианте нужен еще параметр с паттерном
$_SESSION['form'] = $modx->sanitize($_POST, $modx->sanitizePatterns);
Всем огромное спасибо, сейчас буду пробовать.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.