Форма регистрации пользователя не работает в laravel

я создал новый контроллер под названием AuthController: созданная мной система аутентификации не работает :(

<?php

namespace App\Http\Controllers\Site;

use App\Models\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;

class AuthController extends Controller
{
    public function register(Request $request)
    {
        if ($request->isMethod('Get')) {
            return view('auth.register');
        }

        $this->validate($request,[
            'fname' => 'required|string|min:3|max:255',
            'lname' => 'required|string|min:3|max:255',
            'email' => 'required|email|max:255|unique:users',
            'password' => 'required|string|min:8|max:255|confirmed',
            'username' => 'required|string|min:6|max:255|unique:users',
            'mobile' => 'required|min:11|max:11|regex:/^09[0-3][0-9]{8}$/u|unique:users'
        ]);

        $user = new User();
        $user->fname = $request->fname;
        $user->lname = $request->lname;
        $user->email = $request->email;
        $user->password = Hash::make($request->password);
        $user->username = $request->username;
        $user->mobile = $request->mobile;

    }

    public function login()
    {
        return 'login';
    }

    public function logout()
    {

    }
}

а это мой Модель:

    <?php

namespace App\Models;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
use Notifiable;

/**
 * The attributes that are mass assignable.
 *
 * @var array
 */
protected $fillable = [
    'fname', 'lname', 'email', 'password', 'username', 'mobile'
];

/**
 * The attributes that should be hidden for arrays.
 *
 * @var array
 */
protected $hidden = [
    'password', 'remember_token',
];

}

это моя регистрационная форма:

@extends('_partials.master')

@section('title','Register')

@section('stylesheet')

    <link rel = "stylesheet" href = "/assets/css/slick-theme.css">
    <link rel = "stylesheet" href = "/assets/css/slick.css">
    <link rel = "stylesheet" href = "/assets/css/style.css">

@endsection

@section('content')

    <article class = "single-blog contact-us">
        <div class = "post-thumb">
            <img src = "assets/images/archi-feature-cat-6.jpg" alt = "">
        </div>
        <div class = "post-content">
            <div class = "entry-header text-center text-uppercase">

                <h2 class = "text-left"><a href = "{{ route('register') }}">Register</a></h2>
            </div>
            <div class = "entry-content">
                <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirtempor
                    invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
                </p>
            </div>

            <div class = "leave-comment">
                <form class = "form-horizontal contact-form" method = "post"
                      action = "/register">
                    {{ csrf_field() }}
                    <div class = "form-group">
                        <div class = "col-md-6">
                            <input type = "text" value = "{{ @old('fname') }}" class = "form-control" id = "fname" name = "fname"
                                   placeholder = "First Name">
                            <span class = "text-danger">{{ $errors->first('fname') }}</span>
                        </div>
                        <div class = "col-md-6">
                            <input type = "text" value = "{{ @old('lname') }}" class = "form-control" id = "lname" name = "lname"
                                   placeholder = "Last Name">
                            <span class = "text-danger">{{ $errors->first('lname') }}</span>
                        </div>
                    </div>
                    <div class = "form-group">
                        <div class = "col-md-12">
                            <input type = "text" value = "{{ @old('email') }}" class = "form-control" id = "email" name = "email"
                                   placeholder = "Email">
                            <span class = "text-danger">{{ $errors->first('email') }}</span>
                        </div>
                    </div>
                    <div class = "form-group">
                        <div class = "col-md-12">
                            <input type = "text" value = "{{ @old('username') }}" class = "form-control" id = "username" name = "username"
                                   placeholder = "Username">
                            <span class = "text-danger">{{ $errors->first('username') }}</span>
                        </div>
                    </div>
                    <div class = "form-group">
                        <div class = "col-md-6">
                            <input type = "password" value = "{{ @old('password') }}" class = "form-control" id = "password" name = "password"
                                   placeholder = "Password">
                            <span class = "text-danger">{{ $errors->first('password') }}</span>
                        </div>
                        <div class = "col-md-6">
                            <input type = "password" value = "{{ @old('password_confirmation') }}" class = "form-control" id = "password_confirmation" name = "password_confirmation"
                                   placeholder = "Password Again">
                            <span class = "text-danger">{{ $errors->first('password_confirmation') }}</span>
                        </div>
                    </div>
                    <div class = "form-group">
                        <div class = "col-md-12">
                            <input type = "text" value = "{{ @old('mobile') }}" class = "form-control" id = "mobile" name = "mobile"
                                   placeholder = "Mobile">
                            <span class = "text-danger">{{ $errors->first('mobile') }}</span>
                        </div>
                    </div>
                    <button type = "submit" class = "btn send-btn">Register</button>
                </form>
            </div>
        </div>
    </article>


@endsection

@section('javascript')

    <script src = "/assets/js/slick.min.js"></script>
    <script src = "/assets/js/main.js"></script>

@endsection

моя система регистрации не работает, и она возвращает пустую страницу. он не возвращает никаких ошибок. Я хочу сам сделать систему аутентификации пользователей. что мне делать? пожалуйста, помогите мне tnx :)

вы забыли добавить $user->save();

rkj 22.06.2018 11:51
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
2
1
122
2

Ответы 2

После проверки данных используйте функцию create следующим образом:

$data = $request->all();

$user = User::create([
            'fname' => $data->fname;
            'lname' => $data->lname;
            'email' => $data->email;
            'password' => Hash::make($data->password);
            'username' => $data->username;
            'mobile' => $data->mobile;

        ]);

Auth::login($user); //this will login the user.

Весь ваш код в порядке, просто замените $this->validate($request на $this->validate($request->all(),

    public function register(Request $request)
    {
        if ($request->isMethod('Get')) {
            return view('auth.register');
        }

        $this->validate($request->all(),[
            'fname' => 'required|string|min:3|max:255',
            'lname' => 'required|string|min:3|max:255',
            'email' => 'required|email|max:255|unique:users',
            'password' => 'required|string|min:8|max:255|confirmed',
            'username' => 'required|string|min:6|max:255|unique:users',
            'mobile' => 'required|min:11|max:11|regex:/^09[0-3][0-9]{8}$/u|unique:users'
        ]);

        $user = new User();
        $user->fname = $request->fname;
        $user->lname = $request->lname;
        $user->email = $request->email;
        $user->password = Hash::make($request->password);
        $user->username = $request->username;
        $user->mobile = $request->mobile;
        $user->save(); //add this line

        return redirect('login');
    }

Добавить строку $user->save();

Другие вопросы по теме