[英]Why am i getting “Route [/login] not defined error” in Laravel?
[英]Why am I routed to login form rather than the route that I specified - Laravel
我有一个自定义的 Laravel 登录 controller。如果我在特定表中没有记录,我想重定向到 selfRegister 页面。 登录 function 获取检查此记录的代码,但未能找到它。 然后我做了一个重定向,但我没有在我的 userController 上自行注册 function,而是回到了登录表单,我不知道为什么。
web.php
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ActivityController;
use App\Http\Controllers\NoteController;
use App\Http\Controllers\AdminController;
use App\Http\Controllers\GetNameController;
use App\Http\Controllers\UserController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Auth::routes();
Route::any('/user/selfregister',[UserController::class, 'selfRegister'])->name('selfRegister');
Route::group(['middleware' => 'auth'], function () {
Route::any('/user/profile', [UserController::class, 'profile']);
.
.
.
从登录控制器
public function login(Request $request)
{
if($this->validateLogin($request)){
return $this->sendFailedLoginResponse($request);
}
$req = $request->all();
$app_acc = New Application_access();
$app_acc->user_name = $req['user_name'];
$app_acc->access_date = date('Y-m-d h:i:s');
if ($this->attemptLogin($request)) {
echo('logged in 1<br>');
$app_acc->access_disposition = 'login';
$app_acc->save();
$reset_p = New Reset_password();
echo('logged in 2<br>');
if($reset_p->buildReset(Auth::user()->user_contact_id)){
$user = Users::find(auth()->user()->user_contact_id);
$user->activated = 0;
$user->save();
return redirect('/user/passwordupdate');
};
return $this->sendLoginResponse($request);
} else {
// login failed
// ******
// check if user is in the contact table
$contact = DB::table('contacts_t')->select('*')
->where('con_email',"=",$req['user_name'])
->first();
if (!$contact) {
// if we did not find the contact then redirect to self register
return redirect()->route('selfRegister');
//return redirect()->route('/user/selfregister');
}
return $this->sendLoginResponse($request);
}
return $this->sendFailedLoginResponse($request);
}
从用户控制器
public function selfRegister() {
die('selfRegister');
.
.
.
来自 Login.blade.php
.
.
.
<div class="centerLogin">
<form enctype="multipart/form-data" method="POST" action="{{ route('login') }}">
@csrf
<div class="form-group row mt-3">
.
.
.
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ActivityController;
use App\Http\Controllers\NoteController;
use App\Http\Controllers\AdminController;
use App\Http\Controllers\GetNameController;
use App\Http\Controllers\UserController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/user/selfregister',[UserController::class, 'selfRegister'])->name('selfRegister');
Auth::routes();
Route::group(['middleware' => 'auth'], function () {
Route::any('/user/profile', [UserController::class, 'profile']);
.
.
.
像这样尝试。 在 Auth::routes(); 之前移动你的路线; 并改变它得到。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.