MaxHub
Служба Заботы MaxSite CMS

Форма заказа (обратной связи)

Компоненты, юниты и т.п. / 8 апреля 2016

Если кому вдруг понадобится, то вот код формы заказа, работает через smtp сервер (стандартный плагин в maxsite).

Форма заказа (обратной связи)

Форма вставлена через ушку в сайдбаре

<div class="online">
  <h3>Online заказ</h3>
  <form method="post" role="form">
    <div class="form-group">
      <label for="name">Имя:</label>
      <input type="text" class="form-control" name="name" required>
    </div>
    <div class="form-group">
      <label for="fam">Фамилия:</label>
      <input type="text" class="form-control" name="fam" required>
    </div>
    <div class="form-group">
      <label for="phone">Телефон:</label>
      <input type="text" class="form-control" name="phone" required>
    </div>
    <div class="form-group">
      <label for="city">Из какого Вы города:</label>
      <input type="text" class="form-control" name="city" required>
    </div>
    <div class="form-group">
      <label for="comment">Примечание:</label>
      <textarea class="form-control" rows="5" name="comment"></textarea>
    </div>
    <button type="submit" name="zakaz1" class="btn btn-default btn-block">Отправить</button>
  </form>
</div>

А вот код который ее запускает, я запилил его в main.php

if (isset($_POST['zakaz1'])) {
 $name = htmlspecialchars($_POST['name']);
 $fam = htmlspecialchars($_POST['fam']);  $ph
 $city = htmlspecialchars($_POST['city']);
 $comment = htmlspecialchars($_POST['comment']);
 $tmp = 'Имя: '.$name."\r\n";
    $tmp .= 'Фамилия: '.$fam."\r\n";
    $tmp .= 'Телефон: '.$phone."\r\n";
    $tmp .= 'Город: '.$city."\r\n";
    $tmp .= 'Примечание: '.$comment."\r\n";
 mso_mail(mso_get_option('admin_email'), 'Заказ с сайта '.getinfo('name_site'), $tmp);
}

Отправка идет на емайл, который указан в админке сайта.

Вдруг кому пригодится, единственный минус не работает на странице контакты, но я оттуда удалил форму обратной связи, за ненадобностью.

Ну, а с CSS сами разберетесь, я потихоньку использую bootstrap, так что основные классы у меня оттуда. В общем вот так.

Комментариев: 2
  1. Спасибо, Николай! Ваш код имеет право на существование и вполне рабочий, но как по мне, в php-коде не хватает проверок. Наверно я параноик, но всё, что приходит из веба и затем отправляется на почту, по-моему, должно проверяться и экранироваться в обязательном порядке (во избежание создания почтового гейта для спамеров).

    А чем вас не устроил плагин forms? Сейчас в нём вполне можно задавать вёрстку и те же самые поля сделать...

  2. А forms не получалось нормально привязать почему-то к smtp-mail, наверное из за отсутствия достаточных знаний по php, вот и был сделан альтернативный вариант

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Вход / регистрация или войти без комментирования
  Имя и сайт используются только при регистрации

Авторизация MaxSiteAuth. Войти через loginza

(обязательно)