我有这个错误,不知道我错在哪里,请帮助我
我的控制器:
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use App\Models\Account_Register; // Chắc chắn rằng bạn đã import model User
use Illuminate\Support\Facades\Hash;
use Illuminate\Http\Request;
class RegisterController extends Controller
{
protected $redirectTo = RouteServiceProvider::HOME;
public function __construct()
{
$this->middleware('guest');
}
public function showRegistrationForm()
{
return view('auth.register');
}
public function register(Request $request)
{
// Kiểm tra và xác thực dữ liệu đầu vào
$request->validate([
'firstname' => 'required|string|max:255',
'lastname' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:accounts',
'password' => 'required|string|min:8|confirmed',
]);
// Tạo một bản ghi User mới
Account_Register::create([
'firstname' => $request->firstname,
'lastname' => $request->lastname,
'email' => $request->email,
'password' => Hash::make($request->password),
'role' => 2, // Gán vai trò mặc định (Member)
'status' => 1, // Trạng thái mặc định (Show)
'user_id' => 1, // ID của người dùng (nếu có)
'package_id' => 1, // ID của gói (nếu có)
]);
// Chuyển hướng sau khi đăng ký thành công
return redirect(RouteServiceProvider::HOME);
}
}
My View register.blade.php:
@extends('layouts.app')
@section('title', 'Sign Up')
<style>
.navbar ul {
visibility: hidden;
}
</style>
@section('content')
<div class="signup">
<div class="signup-container">
<img src="../../img/study.jpg" alt="Child-friendly image" style="max-width: auto; height: auto" />
<br>
<h1>Join <a href="/">KIDS ZONE</a> for free!</h1>
<form method="POST" action="{{ route('register') }}">
@csrf
<div class="form-group">
<input name="firstname" type="text" class="form-control" id="firstname" required />
<label for="firstname">First Name *</label>
</div>
<br>
<div class="form-group">
<input name="lastname" type="text" class="form-control" id="lastname" required />
<label for="lastname">Last Name *</label>
</div>
<br>
<div class="form-group">
<input name="email" type="email" class="form-control" id="email" required />
<label for="email">Email *</label>
</div>
<br>
<div class="form-group">
<input name="password" type="password" class="form-control" id="password" required />
<label for="password">Password *</label>
</div>
<br>
<div class="form-group">
<input name="password" type="password" class="form-control" id="passwordRepeat" required />
<label for="password">Re-type Password *</label>
</div>
<br>
<button type="submit" class="btn-signup">
Sign Up
</button>
</form>
<p class="forgot-password">Already have an account? <a href="{{asset('auth/login')}}">Sign in</a></p>
</div>
</div>
@endsection
<script>
document.addEventListener("DOMContentLoaded", function() {
const signupContainer = document.querySelector(".signup-container");
signupContainer.classList.add("animated");
});
</script>
//My model: Account_Register
My route:
Route::post('/auth.register', 'Auth\RegisterController@register')->name('register');
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Account_Register extends Model
{
protected $table = 'accounts';
protected $fillable = [
'firstname', 'lastname', 'email', 'password', 'role', 'status', 'user_id', 'package_id'
];
use HasFactory;
}
//my route
My model: Account_Register
My route:
Route::post('/auth.register', 'Auth\RegisterController@register')->name('register');
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Account_Register extends Model
{
protected $table = 'accounts';
protected $fillable = [
'firstname', 'lastname', 'email', 'password', 'role', 'status', 'user_id', 'package_id'
];
use HasFactory;
}
[在此处输入图像描述][1]
我已经检查过路径了,但一切似乎都是正确的。请帮帮我,非常感谢![在此输入图像描述][2]我已经检查了路径,但一切似乎都是正确的。请帮帮我,非常感谢!
2条答案
按热度按时间9rygscc11#
错误是由于您的路由定义。
从Laravel 8开始,当使用字符串语法定义路由时,你必须向控制器添加前缀,像这样:
你也可以这样定义你的路线:
btqmn9zl2#