2017-04-25 44 views
1

我是Laravel 5.2的新手。我一直在嘗試創建一個登錄頁面使用會話,我想重定向到另一個頁面時,用戶登錄是成功的...我驗證用戶在控制器創建會話和重定向到成功頁面視圖,但它沒有返回...我試過解決這個問題,但我不能這樣做......控制器沒有返回查看成功頁面..am我做正確或IM失去了一些東西laravel登錄成功時,從控制器重定向到查看當會話不工作

<form id="loginForm"> 
    <div class="container"> 
    <label><b>Username</b></label> 
    <input type="text" placeholder="Enter Username" name="username" id="username" required> 

    <label><b>Password</b></label> 
    <input type="password" placeholder="Enter Password" name="password" id="password" required> 

    <button type="button" id="loginButton">Login</button> 
    <input type="checkbox" checked="checked"> Remember me 
    </div> 

    <div class="container" style="background-color:#f1f1f1"> 
    <button type="button" class="cancelbtn">Cancel</button> 
    <span class="psw">Forgot <a href="#">password?</a></span> 
    </div> 
</form> 

</body> 
<script type="text/javascript"> 
    $(function(){ 
     $('#loginButton').click(function(){ 
      //alert(SERVER_NAME); 
      var formData = new FormData($('#loginForm')[0]); 

      $.ajax({ 
       url : SERVER_NAME+"/api/userLogin", 
       type :"POST", 
       data :formData, 
       processData: false, 
       contentType: false, 
       dataType :"json", 
       beforeSend: function(){ 

       },    
       success : function(response) 
       { 

       console.log(response); 
       //return false; 
        if(response.status==1){ 

         alert(response.message); 
         // window.location.href = 'home'; 

        }else{ 
         alert(response.message); 
        } 


       }, 
      complete:function(){ 


      } 

      }); 
     }); 

    }); 

</script>` 

我的控制器

public function userLogin(Request $request) 
{ 
    $input = $request->all(); 
    //return $input; 
    $userName=$input['username']; 
    $password=$input['password']; 
    //return $userName; 
    $results = wowza::authenticate($userName,$password); 
    if (sizeof($results)>0){ 

     if($results[0]->email==$userName && $results[0]->password == $password) 
      { 
       Session::set('variableName', $userName); 

       $results['status']=1; 
       return \View::make('user.home')->with('results',$results); 
       // return response()->json($results); 
      } 
    } 

    return sizeof($results); 

} 

我成功頁面

{{Session::get('variableName')}} 

我的路線

Route::get('/', function() { 
    return view('user.login'); 
}); 

Route::get('home', function() { 
    //Session::get('username'); 
    return view('user.home'); 
}); 
$api->version('v1',function($api){ 
$api->post('userLogin','App\Http\Controllers\Api\V1\[email protected]'); 
}); 
+0

頁面是不是重定向或您的代碼沒有達到設置會話的if塊? –

+0

頁面沒有重定向,它到達了if塊@ParminderSingh – Shailang

+0

這樣做:Route :: get('home',function(){ // Session :: get('username'); return view('user。家'); });也工作? – boroboris

回答

0

您可以在身份驗證控制器更改爲 保護$ redirectTo = '/儀表盤'; 或 在路線爲 路線::獲得( '儀表盤',函數(){返回重定向( '您的路徑'); }); `

+0

對不起,但我不完全得到你的建議@Tapan Barik – Shailang

0

您的頁面沒有重定向,因爲您正在將視圖文件加載到控制器中。取而代之的是代碼:

return \View::make('user.home')->with('results',$results);

您應該使用重定向( '家')的方法。

讓我知道這是行不通的。

+0

我試着'返回重定向('家')',它不返回任何東西不是控制檯'返回重定向() - >路由('家');給我一個錯誤內部服務器錯誤@Parminder Singh – Shailang

+0

當我更改routes.php路由::獲得('用戶\家',函數(){ \t //會話:: get('用戶名'); 返回('user/home'); });'它控制器將返回404錯誤,如果我'返回重定向('家')',也許控制器重定向到正確的路由,這就是爲什麼它不安慰任何東西,返回視圖(user.home)'沒有被觸發...試圖找到一個解決方案...還沒有解決這是發生@Parminder singh – Shailang

+0

對我來說它工作得很好: '\ Session :: put ('variablename','testing'); //我有laravel 5.4 回報重定向( '家');' 和routes.php文件: '路線::得到( '/家',函數(){ \t回聲\會議::得到(」 VARIABLENAME'); \t模具; });' 並且它重定向細。 –

相關問題