编程语言
首页 > 编程语言> > php-Laravel 4使用邮件类的联系表,错误的未定义$data从包含电子邮件的视图

php-Laravel 4使用邮件类的联系表,错误的未定义$data从包含电子邮件的视图

作者:互联网

我正在尝试第一次使用Laravel的Mail类,并且遇到了一些困难.尝试将联系表单提交到邮件类时,出现未定义的变量错误.

控制者

public function store()
{
    $validation = new Services\Validators\Contact;

    if($validation->passes()) {

       $fromEmail = Input::get('email');
       $fromName = Input::get('name');
       $subject = "Email from user at website.com";
       $data = Input::get('message');

       $toEmail = 'test@dummyemail.com';
       $toName = 'Mitch Glenn';

       Mail::send('emails.contact', $data, function($message) use ($toEmail, $toName, $fromEmail, $fromName, $subject){

           $message->to($toEmail, $toName);

           $message->from($fromEmail, $fromName);

           $message->subject($subject);
       });

    return Redirect::to('/')
        ->with('message', 'Your message was successfully sent!');
    }

    return Redirect::back()
        ->withInput()
        ->withErrors($validation->errors);
}

查看emails.contact

<html>
   <body>
       Message: {{ $data->message }}
   </body>
</html>

我很困惑为什么$data变量没有传递给视图.我收到此错误:未定义的变量:数据感谢您的任何帮助或见解.

解决方法:

更改以下行

$data = Input::get('message');

对此

$data = [ 'msg' => Input::get('message') ];

在您的视图中,您可以使用

Message: {{ $msg }}

更新:将数据传递到视图时,不要使用message作为变量名.

标签:laravel,email,laravel-4,php,swiftmailer
来源: https://codeday.me/bug/20191122/2057486.html