Вед-дев, Сео, Манимейкинг

Создаем форму обратной связи в Laravel 4

Сегодня мы рассмотрим пример создания формы обратной связи на PHP фреймворке Laravel 4. Итак, приступим.

routes.php

Route::get('contact-form', 'SomeController@cf');
Route::post('contact-form', 'SomeController@cfp');

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

SomeController.php

public function cf() {
  return View::make('contacts');
}

public function cfp() {
  $user = array(
    'email' => Input::get('email')
  );

  $data = array(
    'email' => Input::get('email'),
    'message_body' => Input::get('message')
  );

  Mail::queue('emails.contact', $data, function($message) use ($user) {
    $message->to('youremail@gmail.com')
    ->replyTo($user['email'])
    ->subject('Contact form request');
    });

        return Redirect::action('SomeController@cf')->with('success', 'You\'ve successfully sent a message!');
}

В контроллере при помощи класса "Mail" мы отправляем сообщения на указанный ящик.

contacts.blade.php

{{ Form::open(array('url' => 'contact')) }}
{{ Form::email('email') }}
{{ Form::textarea('message') }}
{{ Form::submit('send') }}
{{ Form::close() }}

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

contact.blade.php

  <head>
    <meta charset="utf-8">
  </head>
  <body>
    <h2>Contact form request</h2>
      <div>From: {{ $email }}</div>
      <div>Message: {{ $message_body }}</div>
  </body>

В файле шаблона письма мы можем использовать значения, которые пользователь ввел на странице с формой обратной связи.

На этом и все. Про то, как встроить сюда валидацию, можете прочитать по этой ссылке.

На самом деле, создание формы обратной связи на фреймворке - это 20 минутное дело, но зато можно сразу написать так, как ты хочешь и не перекапывать все гавно чтобы удалить или переименовать какой-либо элемент в форме.



Комментарии (0)

Разделы

Подписаться

Подписка на RSS-лента последние записи из Блога

Комменты

  • Olzhas 11 месяцев 3 недели назад
    Спасибо. С Новым Годом! 
  • Den 1 год 1 неделя назад
    В первой функции, при создании переменной $li_previous нужно поменять '←' с NULL, в $li_next сделать тоже самое. 
  • Гость 1 год 1 неделя назад
    Если все ровно так как было описано, то нет никаких сомнений что домен увел сам регистратор. Потому что вероятность того 
  • Валерий 1 год 1 месяц назад
    да можно делать импорт-экспорт только лишь в оболочке на входя на mysql сервер 
  • admin 1 год 1 месяц назад
    Валерий, а зачем вам именно так делать экспорт? Если я не ошибаюсь, то там нет какой-либо команды чтобы сделать экспорт 
  • Валерий 1 год 1 месяц назад
    захожу на mysql через ssh по команде  
  • admin 1 год 1 месяц назад
    Добрый вечер, какой у вас клиент? 
  • Валерий 1 год 1 месяц назад
    Здравстуйте, есть команда чтобы сделать экспорт базы внутри mysql клиента? 
  • Eduard 1 год 1 месяц назад
    Видать, домен хороший был. Заявление пробывали писать на мошенника? 
  • Stas 1 год 3 месяца назад
    Ошибка в ключе квантификатора - replace(/будешь|пить/ig, "хлеб"); Указать -g для прохода по всем совпадениям!