2017-04-25 18 views
1

私はLaravel 5.2を使い慣れました。私はセッションを使用してログインページを作成しようとしていましたが、ユーザーログインが成功したときに別のページにリダイレクトしたかったのです...コントローラを作成してセッションを確認し、成功ページビューにリダイレクトします。それを解決するが、私はそうすることができませんし...コントローラは、MYコントローラーlaravelログインが成功したときにコントローラからビューへのリダイレクト

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); 

} 

マイビューの成功ページ..am私はそれを正しくやったりイム行方不明何か

<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>` 

を返していません成功ページ

{{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

ページがリダイレクトされていない場合、ブロック@ParminderSingh – Shailang

+0

に到達します。これはRoute :: get( 'home'、function(){ // Session :: get( 'username'); return view( 'user。ホーム '); });また働く? – boroboris

答えて

0

あなたは 保護$ redirectTo = '/ダッシュボード' として認証コントローラで変更することができます。 または ルート: Route :: get( 'dashboard'、function()returnリダイレクト( 'your-path'); }); `

+0

申し訳ありませんが、私は正確に何を示唆しているのですか?@Tapan Barik – Shailang

0

コントローラにビューファイルをロードしているため、ページがリダイレクトされません。

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

あなたは、リダイレクトを使用する必要があります( 'ホーム')方法:代わりにこのコードの。

これが機能しないかどうか教えてください。

+0

私は 'リターンリダイレクト( 'home')'しようとしました。私に、エラーRoute :: get( 'user \ home'、function(){ \t // Session :: get( 'username'); が返されたときにエラー内部サーバーエラー@Parminder Singh – Shailang

+0

を返しました。コントローラは ''リダイレクト( 'home') 'を返した場合、404エラーを返します。おそらくコントローラが正しいルートにリダイレクトしているので、戻り値のビュー(user.home) 'がトリガーされていません...解決策を見つけようとしています...まだ解決されていません@Parminder singh – Shailang

+0

私にとってはうまくいった: 'Session :: put ( 'variablename'、 'testing'); 'ルート::( '/ホーム' 機能を(){取得 \tエコー\セッション::取得(」:' とroutes.phpの中; //私はlaravel 5.4 リターンリダイレクト( 'ホーム')を持っています「 );これは正常にリダイレクトされています。 –

関連する問題