Вход • Регистрация

Как сохранить имя получателя, указав его в форме подписки на сайте?

  • 28 февраля 2015 г.
  • Всем, привет!
    Добавил на сайте форму для подписки на рассылку, в ней по умолчанию только одно поле e-mail и кнопка отправить.
    В админке в Подписчиках уже есть поле Имя получателя... так вот... необходимо добавить в форме на сайте еще одно поле, чтобы пользователь сразу сам указывал свое имя, и чтобы оно соответственно сохранялось куда нужно.

    Само поле добавил в форму
    Код
    <input type="text" name="name" value="" class="name">


    Но вот данные из него не сохраняются в админке, а ящик сохраняется.

    Что не так? Имя поля? или еще чего то не хватает?
  • 09 января 2017 г.
  • Кстати, чуть повозился и решил вашу (и свою) задачу.
    Код, если нужно, файл "modules\subscribtion\subscribtion.action.php"
    Найдите код:
    Код
    if(! $row["id"])
    {
    $this->check_fields();

    if ($this->result())
    return;

    DB::query("INSERT INTO {subscribtion_emails} (mail, act, created, code) VALUES ('%s', '1', %d, '%s')", $_POST["mail"], time(), md5(rand(0, 9999999)));
    $row = DB::query_fetch_array("SELECT * FROM {subscribtion_emails} WHERE mail='%s' AND trash='0' LIMIT 1", $_POST['mail']);
    $this->send_mail($row["mail"], $row["code"]);
    }
    elseif(! $row["act"])
    {
    DB::query("UPDATE {subscribtion_emails} SET act='1' WHERE id=%d", $row["id"]);
    $this->send_mail($row["mail"], $row["code"]);
    }

    и заменить этим:
    Код
    if(! $row["id"])
    {
    $this->check_fields();

    if ($this->result())
    return;

    DB::query("INSERT INTO {subscribtion_emails} (mail, name, act, created, code) VALUES ('%s', '%s', '1', %d, '%s')", $_POST["mail"], $_POST["name"], time(), md5(rand(0, 9999999)));
    $row = DB::query_fetch_array("SELECT * FROM {subscribtion_emails} WHERE mail='%s' AND trash='0' LIMIT 1", $_POST['mail']);
    $this->send_mail($row["mail"], $row["code"]);
    }
    elseif(! $row["act"])
    {
    DB::query("UPDATE {subscribtion_emails} SET act='1' WHERE id=%d", $row["id"]);
    $this->send_mail($row["mail"], $row["code"]);
    }

    Предварительно, вставив соответствующее поле в форму

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум