在laravel中发送数据重定向

时间:2018-02-20 06:34:55

标签: php laravel laravel-5.5

我尝试了以下代码:如果要登录的用户信息不正确,请将用户重新定向到腰部页面并显示一条消息:

if (!$info_is_correct){
    $_SESSION['err_msg'] = 'your login info is not correct';
    return redirect('http://localhost:8000/user/login');
}

这是我在登录页面(视图)中所做的,以回显错误消息:

    @isset($_SESSION['err_msg'])
        <div class="alert alert-danger mt-2" style="font-family:IRANSans;font-size:16px ;">
            <p>
                <strong>خطا !</strong>
                {{$_SESSION['err_msg']}}
                <?php unset($_SESSION['err_msg']) ?>

            </p>
        </div>
    @endisset
问题在哪里?什么是通过重定向将数据发送到视图的最佳方式?

4 个答案:

答案 0 :(得分:2)

使用with()方法:

return redirect('http://localhost:8000/user/login')->with('err_msg', 'your login info is not correct');

如果有观点:

@if (session('err_msg'))
    <div>{{ session('err_msg') }}</div>
@endif

答案 1 :(得分:1)

由于您正在使用laravel,因此可以通过使用validators完成验证并简单地返回

redirect()->back()->withErrors($validator)

从视图中您可以访问$errors变量,该变量将包含所有错误,

你可以循环错误变量并打印错误

从您的登录视图

@if ($errors->any())
    <div class="alert alert-danger">
        <ul>
            @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif

答案 2 :(得分:1)

您可以这样做,使用输入

发送错误消息
return redirect('http://localhost:8000/user/login')->with('err_msg', 'Your error message')->withInput();

来源:Laravel RedirectsLaravel Validate

注意:您还可以使用错误消息like this

答案 3 :(得分:0)

使用session方法在laravel中设置会话值,请务必使用,因为它是全局的,并为整个站点设置会话值。

删除 http://localhost:8000以便在开发和制作中使用此路线。

if (!$info_is_correct){
    session('err_msg', 'your login info is not correct');
    return redirect('/user/login');
}

session('key')

获取价值表格会话
{{session('err_msg')}}