Php 如何在Laravel中将消息传递到另一个页面?
我有一个控制器,如下所示:Php 如何在Laravel中将消息传递到另一个页面?,php,laravel,error-handling,Php,Laravel,Error Handling,我有一个控制器,如下所示: public function add(Requests\contactValidation $request){ if(Auth::check()) { $new_array = array(); $new_array['name'] = $request->name; $new_array['email'] = $request->email; $new_array['conte
public function add(Requests\contactValidation $request){
if(Auth::check()) {
$new_array = array();
$new_array['name'] = $request->name;
$new_array['email'] = $request->email;
$new_array['content'] = $request->content;
contact::create($new_array);
return back();
} else {
return back()->withError('you are not log in');
}
}
我有这样的观点:
<?php
echo "<pre>";
print_r( $errors->all());
?>
我的问题:如何设置该邮件的名称?我想要这样的结果:
return back()->withErrors(['Name' => 'you are not log in']);
您可以使用
withError()
来放置包含消息的数组(键值)(而不是withError()
)
例如:
@if( $errors->any() )
<span> {{$errors->first()}} </span>
@endif
在视图中,您还可以调用:
return Redirect::to('users/register')->with('message', 'The following errors occurred')->withErrors($validator)->withInput();
@if($errors->any())
{{$errors->first()}
@恩迪夫
这是我通常做的:
@if(Session::has('message'))
<p class="alert">{!! Session::get('message') !!}</p>
@foreach($errors->all() as $error)
<p>{!! $error !!}</p>
@endforeach
@endif
因此,基本上您可以返回存储为会话的消息/消息,当然也可以返回错误。此外,您还可以查看文档中的以下内容以了解详细信息
此外,您还可以将其打印为:
@if(会话::has('message'))
{!!Session::get('message')
@foreach($errors->all()作为$error)
{!!$error!!}
@endforeach
@恩迪夫
显然,您可以根据您的要求进行更改。希望有帮助。应该是
['Name'=>'您没有登录]
谢谢。。向上投票。。你能告诉我怎样才能把一条常规信息(不是错误信息)发送到另一个页面吗?类似“您的评论已发送”的内容您可以使用会话flash方法(在重定向调用之前),例如:$request->Session()->flash('successMessage','your comment has sent')
,请参阅主题中的详细信息。函数在会话中设置消息?它在会话中设置名为message的变量。显然,您可以按您想要的方式命名:)您也可以在此处查看文档:(将数据传递给视图)
return Redirect::to('users/register')->with('message', 'The following errors occurred')->withErrors($validator)->withInput();
@if(Session::has('message'))
<p class="alert">{!! Session::get('message') !!}</p>
@foreach($errors->all() as $error)
<p>{!! $error !!}</p>
@endforeach
@endif