【问题标题】:How to return success sending an email laravel如何返回成功发送电子邮件 laravel
【发布时间】:2014-03-23 20:54:03
【问题描述】:

我正在尝试在 laravel 中给出邮件成功响应。

这是我的路线:

Route::get('/contatti/','ItemController@contatti');
Route::post('/contatti/mail','ItemController@mail');

这是我的方法

public function mail()
        {

$data = Input::all();
 $rules = array(
'nome' => 'required',
'email' => 'required',
 );
$validator = Validator::make($data, $rules);    
if($validator->fails()) return Redirect::to('contatti')->withErrors($validator)->withInput();                       
$emailcontent = array (
 'nome' => $data['nome'],
 'email' => $data['email'],
 );

 Mail::send('emails.contactmail', $emailcontent, function($message){

 $message->to('xxxx @mail.com','')->subject('Contatti');

});
$success='ok';  
return Redirect::back()->with('success',$success);
}

HTML

@if(isset($success))
<div>
    Email Inviata con successo!
</div>
@endif

我不能这样做,因为我使用的是路由方法 post? 我需要使用类似的东西:

Session::flash('success', '发送成功'); 设置这个?然后在联系页面中获取会话?

【问题讨论】:

    标签: laravel laravel-4


    【解决方案1】:

    根据documentation

    注意:由于 with 方法将数据闪烁到会话中,您可以 使用典型的 Session::get 方法检索数据。

    所以,你的 HTML 模板应该是:

    @if(Session::get('success'))
    <div>
        Email Inviata con successo!
    </div>
    @endif
    

    【讨论】:

    • 如果我不使用 isset 变量,我认为成功需要始终存在。我通常不需要 session:get with method。我只是使用 ->with ('success',$success) 并且我在视图中得到了这样的变量。这里的问题是,我似乎无法为变量成功赋值
    • 如果您在重定向中使用with,您必须使用Session。如果您不想使用Session,请不要使用with
    • 我现在明白了。我不知道重定向的工作方式不同,谢谢
    猜你喜欢
    • 1970-01-01
    • 2014-09-06
    • 2014-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-16
    • 1970-01-01
    • 2016-12-14
    相关资源
    最近更新 更多