检查视图页面上的两个变量,但从控制器发送一个变量

时间:2016-12-08 09:18:54

标签: php laravel laravel-4

我有一个控制器检查用户输入的用户名是否正确,并且基于正确/不正确我将不同的变量发送到查看页面。

所以我在控制器中有这个

public function resSub() {

    $user = User::where('username', Input::get('username'))->first();
    if (!$user) {
        // not relevant stuffs
        $enc = 'enc';
        return View::make('users.page2', ['enc'=> $enc]);
    }
    Session::put('user_id', $user['user_id']);
    return Redirect::to('/users/page2?_token=' . csrf_token());
}   
public function encMess()
{
    $data = Session::all();    
    $enc1 = 'enc1';    
    return View::make('users.page2', ['enc1'=> $enc1]);
}

在视图中我有这个

@if(!$enc)
    <pre>{{ $enc1 }}</pre>
@else
    <pre>{{ $enc }}</pre>
@endif

当我运行该页面时,我未定义$enc$enc1,因为它未发送到视图。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

public function resSub() {

    $user = User::where('username', Input::get('username'))->first();
    if (!$user) {
        // not relevant stuffs
        return View::make('users.page2', ['enc'=> $enc]);
    }
    Session::put('user_id', $user['user_id']);
    return Redirect::to('/users/page2?_token=' . csrf_token()); }   

public function encMess() {
    $data = Session::all();        
    return View::make('users.page2', ['enc'=> $enc1]); 
}

查看:     

{{ $enc }}

您在视图中执行的操作相同,因此您无需传递两个不同的变量名称。

如果你真的需要两个单独的变量,可以使用一个空值。