Отправка данных с формы на другой ресурс

Доброго времени суток! Срочно нужна помощь. Требуется, чтобы данные, введенные пользователем в форме на одном ресурсе, отправлялись на другой ресурс и там вызывались, а также одновременно — эти же данные отправлялись на email. С отправкой на email проблем не возникло, использую ajaxForm. Кто чем сможет — помогите!!!
Vladimir Kamenkov
18 декабря 2015, 05:39
modx.pro
2
1 305
0

Комментарии: 4

Илья Уткин
18 декабря 2015, 09:37
+2


Создаёте сниппет 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']);
    Сергей Шлоков
    18 декабря 2015, 11:33
    +2
    На странице с 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);
    Иначе может случится чаво нехорошее.
      Сергей Шлоков
      18 декабря 2015, 11:46
      0
      Во втором варианте нужен еще параметр с паттерном
      $_SESSION['form'] = $modx->sanitize($_POST, $modx->sanitizePatterns);
    Vladimir Kamenkov
    18 декабря 2015, 11:53
    0
    Всем огромное спасибо, сейчас буду пробовать.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4