使用邮件类的 Laravel 4 联系表单,错误未定义 $data 来自包含电子邮件的视图
Posted
技术标签:
【中文标题】使用邮件类的 Laravel 4 联系表单,错误未定义 $data 来自包含电子邮件的视图【英文标题】:Laravel 4 contact form using mail class, error undefined $data from view containing email message 【发布时间】:2014-03-01 05:17:24 【问题描述】:我第一次尝试使用 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
变量没有被传递给视图。我收到此错误:Undefined variable: data
感谢您提供任何帮助或见解。
【问题讨论】:
【参考方案1】:更改以下行
$data = Input::get('message');
到这里
$data = [ 'msg' => Input::get('message') ];
在你的View
你可以使用
Message: $msg
更新:在将data
传递给View
时不要使用message
作为变量名。
【讨论】:
是的,我使用了message
,然后将其更改为msg
,现在它可以工作了——因此我删除了我的评论!再次感谢 Sheikh Heera!
不客气,真的很高兴再次和你在一起-)以上是关于使用邮件类的 Laravel 4 联系表单,错误未定义 $data 来自包含电子邮件的视图的主要内容,如果未能解决你的问题,请参考以下文章
PHP 联系表,一直工作到迁移。警告:mail() [function.mail]:mail() 函数的参数错误,邮件未发送
Django 联系电子邮件表单未在模板 home.html 中呈现/显示