<分区>
我正在尝试在 Laravel 5.2 中验证登录/注册系统。
我正在使用 welcome.blade.php
作为索引页面,其中包含两种用于注册和登录的表单
我的 UserController.php
是这样设置的:
namespace authme\Http\Controllers;
use Illuminate\Http\Request;
use authme\User;
use Illuminate\Support\Facades\Auth;
class UserController extends Controller
{
public function getDashboard()
{
return view('dashboard');
}
public function doSignUp(Request $request)
{
$this->validate($request, [
'email' => 'required|email|unique:users',
'first_name' => 'required|max:120',
'password' => 'required|min:6'
]);
$email = $request['email'];
$password = bcrypt($request['password']);
$first_name = $request['first_name'];
$last_name = $request['last_name'];
$location = $request['location'];
$phone = $request['phone'];
$user = new User();
$user->email = $email;
$user->password = $password;
$user->firstname = $first_name;
$user->lastname = $last_name;
$user->location = $location;
$user->phone = $phone;
$user->save();
Auth::login($user);
return redirect()->route('dashboard');
}
public function doSignIn(Request $request)
{
$this->validate($request, [
'email' => 'required',
'password' => 'required'
]);
if(Auth::attempt(['email' => $request['email'], 'password' => $request['password']])){
return redirect()->route('dashboard');
}
return redirect()->back();
}
}
为了在我的 View 文件 (welcome.blade.php
) 中显示注册/登录期间的错误,我包括:
@if(count($errors) > 0)
<div class="row">
<div class="alert alert-danger">
<ul>
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
</div>
@endif
路由设置如下:
Route::group(['middleware' => ['web']], function() {
Route::get('/', function () {
return view('welcome');
});
Route::post('/signup', [
'uses' => 'UserController@doSignUp',
'as' => 'signup'
]);
Route::post('/signin', [
'uses' => 'UserController@doSignIn',
'as' => 'signin'
]);
Route::get('/dashboard', [
'uses' => 'UserController@getDashboard',
'as' => 'dashboard'
]);
});
当输入正确的详细信息时,表格可以正常工作。但是,当我输入不正确的数据时:
- 当我尝试提交空白表单时,它只是重定向回原始页面,但没有显示任何错误
- 当我尝试输入一个已在使用的电子邮件时,它再次重定向回原始页面,但没有显示任何错误
但是,我在我的代码中找不到任何可能的语法错误。有没有逻辑错误?
附言: