我想让身份验证用户登录并在laravel中注册。但是当我提交保存注册信息时......它正在显示
找不到对象!
在此服务器上找不到请求的URL。关于的链接 引用页面似乎是错误的或过时的。请通知作者 该页面的错误。 如果您认为这是服务器错误,请与网站管理员联系。
这是我的authController:
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use Validator;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
class AuthController extends Controller
{
/*
|--------------------------------------------------------------------------
| Registration & Login Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users, as well as the
| authentication of existing users. By default, this controller uses
| a simple trait to add these behaviors. Why don't you explore it?
|
*/
use AuthenticatesAndRegistersUsers, ThrottlesLogins;
/**
* Where to redirect users after login / registration.
*
* @var string
*/
/**
* Create a new authentication controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest', ['except' => 'logout']);
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|confirmed|min:6',
]);
}
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
protected function getLogin() {
return View('auth.login');
}
protected function postLogin(LoginRequest $request) {
if ($this->auth->attempt($request->only('email', 'password'))) {
return redirect()->route('/');
// return view('course.index');
}
return redirect('auth/login')->withErrors([
'email' => 'The email or the password is invalid. Please try again.',
]);
}
/* Register get post methods */
protected function getRegister() {
return View('auth.register');
}
protected function postRegister(RegisterRequest $request) {
$this->user->name = $request->name;
$this->user->email = $request->email;
$this->user->password = bcrypt($request->password);
$this->user->save();
return redirect('auth.login');
}
protected function getLogout()
{
$this->auth->logout();
return redirect('auth.login');
}
protected $redirectTo = '/course';
protected $loginPath = '/auth/login';
}
这是我的login.blade.php文件:
<form method="POST" action="/auth/login">
{!! csrf_field() !!}
<div>
Email
<input type="email" name="email" value="{{ old('email') }}">
</div>
<div>
Password
<input type="password" name="password" id="password">
</div>
<div>
<input type="checkbox" name="remember"> Remember Me
</div>
<div>
<button type="submit">Login</button>
</div>
</form>
Here is my register.blade.php file
<form method="POST" action="/auth/register">
{!! csrf_field() !!}
<div>
Name
<input type="text" name="name" value="{{ old('name') }}">
</div>
<div>
Email
<input type="email" name="email" value="{{ old('email') }}">
</div>
<div>
Password
<input type="password" name="password">
</div>
<div>
Confirm Password
<input type="password" name="password_confirmation">
</div>
<div>
<button type="submit">Register</button>
</div>
</form>
这是routes.php
<?php
/*
|--------------------------------------------------------------------------
| Routes File
|--------------------------------------------------------------------------
|
| Here is where you will register all of the routes in an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::get('/all_user',function(){
return view('all_user');
});
Route::get('all_user/{id}/{name}',function($id,$name){ // Here we pass the peremeter in url all_user
return 'User '.$id." ".$name; // with the parameter id and name
});
Route::get('home','basicController@index'); // Here Home is the URL and it
//execute the basiccontroller index page
Route::get('about','basicController@about');
Route::resource('course','courseController');
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| This route group applies the "web" middleware group to every route
| it contains. The "web" middleware group is defined in your HTTP
| kernel and includes session state, CSRF protection, and more.
|
*/
Route::group(['middleware' => ['web']], function () {
Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');
// Registration routes...
Route::get('auth/register', 'Auth\AuthController@getRegister');
Route::post('auth/register', 'Auth\AuthController@postRegister');
});
答案 0 :(得分:0)
在您的视图中
登录:
{{ !! Form::open(array('route'=>route('auth.login'))) !!}}
注册:
{{ !! Form::open(array('route'=>route('auth.register'))) !! }}
在你的路线
登录
Route::post('auth/login', array('as'=>'auth.login','uses'=>'Auth\AuthController@postLogin'));
注册
Route::post('auth/register', array('as'=>'auth.register','uses'=>'Auth\AuthController@postRegister'));
不要忘记关闭你的表格:
{{ !! Form::close() !! }}