Je tente de créer une application de type page unique avec Laravel 4. Lorsque l'utilisateur arrive sur le site, il doit être invité à se connecter. Une fois l'utilisateur connecté, la vue (et non la URL) changera et l'utilisateur pourra voir les informations comme si elles étaient authentifiées.Laravel Auth Rediriger vers la page précédente
Mon HTML (si authroized devrait afficher "auth" dans h1
, sinon, il montre formulaire de connexion)
<div class="container">
@if(Auth::check())
<h1>Auth</h1>
@else
{{ Form::open(array('url'=>'login', 'method'=>'post')) }}
<div class="row">
<div class="col-xs-12">
<div class="form-group">
{{ Form::label('email', 'Email Address') }}
{{ Form::text('email', Input::old('email'), array('class'=>'form-control', 'placeholder'=>'[email protected]')) }}
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
{{ Form::label('password', 'Password') }}
{{ Form::password('password', array('class'=>'form-control')) }}
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
{{ Form::submit('Log In', array('class'=>'btn btn-primary pull-right')) }}
</div>
</div>
{{ Form::close() }}
@endif
</div>
Contrôleur
class SiteController extends BaseController {
public function getIndex()
{
return View::make('index');
}
public function postLogin() {
$email = Input::get('email');
$password = Input::get('password');
if (Auth::attempt(array('email'=>$email, 'password'=>$password)))
{
return Redirect::route('index');
}
}
}
Mon modèle utilisateur par défaut est livré avec Laravel 4. À partir de maintenant, je passe le Auth::attempt
et obtenant le return Redirect::route('index');
, mais le @if(Auth::check())
ne semble pas tirer. Au lieu de cela, il continue à me montrer la forme de connexion. Est-ce que je fais quelque chose de mal ici?
J'ai trouvé le problème! Ma colonne de base de données était définie sur 'userId' à la place de' id' et tout était éjecté. Je vous remercie! –