Php 如何使用Laravel框架创建注册模式?
我在我的布局中有一个创建用户的模式(作为注册选项),我可以正确创建用户,但我需要自动登录并将其重定向到另一个页面,我如何才能做到 这是我的密码: 标题布局中的我的模态Php 如何使用Laravel框架创建注册模式?,php,twitter-bootstrap,laravel,login,laravel-routing,Php,Twitter Bootstrap,Laravel,Login,Laravel Routing,我在我的布局中有一个创建用户的模式(作为注册选项),我可以正确创建用户,但我需要自动登录并将其重定向到另一个页面,我如何才能做到 这是我的密码: 标题布局中的我的模态 <div id="LoginModal" class="modal fade" role="dialog"> <div class="modal-dialog"> <div class="modal-content" style="background-image: url(/
<div id="LoginModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content" style="background-image: url(/assets/img/Login/Email_Gate.png);width: 420px;height: 550px;">
<div class="modal-body" style="padding:0;">
<div class="tabbable">
<ul class="nav nav-tabs" id="LoginNavUl" style="margin:50px;">
<li style="width: 150px;margin: 0; height: 47px;"><a href="#tab1" data-toggle="tab" aria-expanded="false" style="text-align: center;">Sign Up</a></li>
<li class="active" style="width: 150px;margin: 0;"><a href="#tab2" data-toggle="tab" aria-expanded="true" style="text-align: center;">Login</a></li>
</ul>
<div class="tab-content active">
<div class="tab-pane" id="tab1">
<div class="green-banner" style="background-color: #04c08d; height: 60px;">
<p>Nice to meet you.</p>
</div>
<div class="content-login" style="padding-left:70px; padding-right:70px; padding-top:50px;">
<form id="formRegister" class="form-horizontal" role="form" method="POST" action="{{ route('signup') }}">
<input type="hidden" name="_token" value="{{ Session::token() }}">
<input type="email" class="form-control" name="email" style="width: 100%;" placeholder="Email"><br/>
<input type="password" class="form-control" name="password" style="width: 100%;" placeholder="Password"><br/>
<input type="date" style="width: 100%; margin-bottom: 70px;" name ="eventdate" placeholder="Event Date"/><br/>
<div class="btn-submit-login">
<div>
<button id="edit-submit" name="op" type="submit" style="border: none;background-color: transparent;">SIGN UP</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
}您可以在
createUser
功能中保存用户后,通过添加这两行代码登录用户并重定向用户:
Auth::login($user);
Redirect::to('/collection');
您可以在
createUser
函数中保存用户后,通过添加这两行代码登录用户并重定向用户:
Auth::login($user);
Redirect::to('/collection');
我认为这样的东西应该在你的控制器中起作用:
public function createUser(Request $request )
{
$email = $request['email'];
$password = bcrypt($request['password']);
$user = new UserModel();
$user->email = $email;
$user->password = $password;
$user->role_id = 3;
$user->save();
/*
I need to log the user here
*/
if user is logged in {
Redirect::to('/collection');
} else {
Redirect::to('/');
}
public function createUser(Request $request )
{
$email = $request['email'];
$password = bcrypt($request['password']);
$user = new UserModel();
$user->email = $email;
$user->password = $password;
$user->role_id = 3;
$user->save();
if ( Auth::attempt(['email' => $email, 'password' => $password]) ) {
Redirect::to('/collection');
} else {
Redirect::to('/');
}
我认为类似的东西应该在您的控制器中工作:
public function createUser(Request $request )
{
$email = $request['email'];
$password = bcrypt($request['password']);
$user = new UserModel();
$user->email = $email;
$user->password = $password;
$user->role_id = 3;
$user->save();
/*
I need to log the user here
*/
if user is logged in {
Redirect::to('/collection');
} else {
Redirect::to('/');
}
public function createUser(Request $request )
{
$email = $request['email'];
$password = bcrypt($request['password']);
$user = new UserModel();
$user->email = $email;
$user->password = $password;
$user->role_id = 3;
$user->save();
if ( Auth::attempt(['email' => $email, 'password' => $password]) ) {
Redirect::to('/collection');
} else {
Redirect::to('/');
}
为什么不使用Laravel的内置身份验证 在
laravel5.3
中,您应该看到一个名为app/Http/Controllers/Auth/RegisterController.php的类
默认情况下,此控制器使用名为RegistersUser
的特性。这门课做的正是你所想的。它注册一个用户。
您可以重写RegisterController.php
类中的任何trait方法来添加您想要的任何功能
您还有一个登录用户的LoginController.php
,它甚至提供了一个名为authenticated()
的方法,您可以在LoginController.php
中重写该方法,以便在用户经过身份验证后执行各种操作
作为旁注,我不确定你是否完全理解laravel的“要点”,或者它实际上提供了什么。您真的需要创建自己的UserModel
?它内置了一个用户模型,该模型可与框架的其余部分(尤其是登录/注册类)无缝协作。当在laravel中扩展和定制这么多内容的每一个方面都这么容易时,我不明白你为什么要为这么多内容重新发明轮子
我的建议是看一下文档@
看看拉雷维尔能提供什么,并尝试使用它。你毕竟是在用拉威尔。如果您不打算利用Laravel提供的功能,那么您最好通过composer引入雄辩等功能,而不增加Laravel的分量。为什么不使用Laravel的内置身份验证
在laravel5.3
中,您应该看到一个名为app/Http/Controllers/Auth/RegisterController.php的类
默认情况下,此控制器使用名为RegistersUser
的特性。这门课做的正是你所想的。它注册一个用户。
您可以重写RegisterController.php
类中的任何trait方法来添加您想要的任何功能
您还有一个登录用户的LoginController.php
,它甚至提供了一个名为authenticated()
的方法,您可以在LoginController.php
中重写该方法,以便在用户经过身份验证后执行各种操作
作为旁注,我不确定你是否完全理解laravel的“要点”,或者它实际上提供了什么。您真的需要创建自己的UserModel
?它内置了一个用户模型,该模型可与框架的其余部分(尤其是登录/注册类)无缝协作。当在laravel中扩展和定制这么多内容的每一个方面都这么容易时,我不明白你为什么要为这么多内容重新发明轮子
我的建议是看一下文档@
看看拉雷维尔能提供什么,并尝试使用它。你毕竟是在用拉威尔。如果您不打算利用Laravel提供的功能,您最好通过composer引入雄辩等功能,而不必增加Laravel的权重。为此,请确保用户模型使用Authenticatable
。OP似乎使用自己的用户模型。为此,请确保用户模型使用authenticable
。OP似乎使用自己的用户模型