php - php laravel 登录和注册错误通知
问题描述
我有注册和授权表格。它们工作,除了错误输出。例如,如果授权不成功,它应该在“编号”字段上显示错误“授权失败”。或者,在注册过程中,它应该在数字字段中显示“此用户已注册”。在这种情况下,重定向有效,但不显示错误本身。也就是说,页面只是被更新了。可能是什么错误?我是 php laravel 的新手,不知道为什么会发生这种情况registration.blade.php:
@extends('layouts.app')
@section('title-block')
Регистрация
@endsection
@section('content')
<div class="container">
<h1 align="center">
<a href="/"><img src="{{asset('images/logo.jpg')}}" alt="logo" class="home"></a>
Register
</h1>
</div>
<hr>
<div class="container" align="center">
<form name="register" method="POST" action="{{route('user.registration')}}">
@csrf
<input class="text-input" type="text" placeholder="Enter your surname" name="surname" required>
<input class="text-input" type="text" placeholder="Enter your name" name="name" required><br>
<input class="text-input-full-width" type="text" placeholder="Enter your number" name="number" required><br>
<input class="text-input" type="text" placeholder="Enter your father`s name" name="fathers_name" required>
<input class="text-input" type="text" placeholder="Enter parent number" name="parents_number" required><br>
<input class="text-input-full-width" id="password" name="password" type="password" required placeholder="Enter password"><br>
<label for="studies"id="RegistrationForm"><b>Choose your studies</b></label><br>
<div class="btn-group" role="group" aria-label="Basic checkbox toggle button group">
<input type="checkbox" class="btn-check" id="btncheck1" autocomplete="off" name="btnstudies[]" value="Math">
<label class="btn btn-outline-primary" for="btncheck1">Math</label>
<input type="checkbox" class="btn-check" id="btncheck2" autocomplete="off" name="btnstudies[]" value="Language">
<label class="btn btn-outline-primary" for="btncheck2">Language</label>
<input type="checkbox" class="btn-check" id="btncheck3" autocomplete="off" name="btnstudies[]" value="Physics">
<label class="btn btn-outline-primary" for="btncheck3">Physics</label>
</div>
<br>
<label for="classes"id="RegistrationForm"><b>Classes</b></label><br>
<div class="btn-group-vertical" role="group">
<input type="radio" class="btn-check" name="btnradio" id="btnradio1" autocomplete="off" checked value="2">
<label class="btn btn-outline-primary" for="btnradio1">2nd class</label>
<input type="radio" class="btn-check" name="btnradio" id="btnradio2" autocomplete="off" value="3">
<label class="btn btn-outline-primary" for="btnradio2" >3rd class</label>
<input type="radio" class="btn-check" name="btnradio" id="btnradio3" autocomplete="off" value="4">
<label class="btn btn-outline-primary" for="btnradio3">4th class</label>
<input type="radio" class="btn-check" name="btnradio" id="btnradio4" autocomplete="off" value="5">
<label class="btn btn-outline-primary" for="btnradio4">5th class</label>
<input type="radio" class="btn-check" name="btnradio" id="btnradio5" autocomplete="off" value="6">
<label class="btn btn-outline-primary" for="btnradio5">6th class</label>
<input type="radio" class="btn-check" name="btnradio" id="btnradio6" autocomplete="off" value="7">
<label class="btn btn-outline-primary" for="btnradio6">7th class</label>
</div>
<br>
<div class="final">
<input type="checkbox" class="check-term" id="btncheck4" autocomplete="off" required>
<label class="check-agree" for="btncheck4">I agree with a <a href="documents/term.txt">Terms</a></label><br>
<button class="main-button" type="submit" name="sendMe" value="1" required>Register</button><br>
<br><label class="check-agree" for="btncheck5">If you have already registrated, <a href="/login"> log in</a></label>
</div>
<hr>
</form>
@endsection
注册控制器.php:
<?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
class RegisterController extends Controller
{
// public function studies(Request $request){
// dd($request->get('btnstudies'));
// //you an store it in database now
// }
public function save(Request $request){
if(Auth::check()){
return redirect(route('user.private'));
}
$validateFields = $request->validate([
'number' =>'required',
'password' => 'required',
]);
if(User::where('number',$request['number'])->exists()){
return redirect(route('user.registration'))->withErrors([
'number' => 'Такой пользователь уже зарегистрирован',
]);
}
$studies = implode(", ",$request['btnstudies'] );
$user = User::create([
'password' => $request['password'],
'name' => $request['name'],
'surname'=>$request['surname'],
'number'=>$request['number'],
'fathers_name'=>$request['fathers_name'],
'parents_number'=>$request['parents_number'],
'class' => $request['btnradio'],
'studies' =>$studies
]);
if($user){
Auth::login($user);
return redirect(route('user.private'));
}
return redirect(route('user.login'))->withErrors([
'formError' => 'Произошла ошибка при сохранении пользователя'
]);
}
}
login.blade.php:
@extends('layouts.app')
@section('title-block')
Log in
@endsection
@section('content')
<div class="container">
<h1 align="center">
<a href="/"><img src="{{asset('images/logo.jpg')}}" alt="logo" class="home"></a>
Log in
</h1>
</div>
<hr>
<div class="container" align="center">
<form name="sign" method="POST" action="{{route('user.login')}}">
@csrf
<input class="text-input" type="text" placeholder="Enter your number" name="number">
<input class="text-input" type="text" placeholder="Enter your password" name="password">
<button class="main-button" type="submit" name="sendMe" value="1" required>Log in</button><br>
<br><label class="check-agree" for="btncheck5">Don't have an account? You can <a href="/registration"> register it right now</a></label>
</form>
</div>
<hr>
@endsection
登录控制器.php:
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller
{
public function login(Request $request){
$formFields = $request->only('number','password');
if(Auth::attempt($formFields)){
return redirect()->intended('/private');
}
return redirect(route('user.login'))->withErrors([
'number' => 'Авторизоваться не удалось'
]);
}
}
解决方案
推荐阅读
- c - 学生储物柜问题(需要在数组内交替)
- php - 尝试在 SQL 中使用 PHP 将 SKU 编号从 55A_3 修复到 A55_3
- keras - 如何在 keras 中组合两个预训练模型?
- visual-studio-code - VS Code + Arduino IDE:如何选择要编译的草图?这里遗漏了一些明显的东西
- language-agnostic - 哪些语言“记录了未定义的行为”?
- language-agnostic - 声明式函数命名
- angular - Ionic 3:隐藏侧边菜单时出错(无法读取 null 的属性“raf”)
- bamboo - 为 Atlassian Bamboo 中的跑步设置“标志”
- python - 匹配内容创建新列
- http - 非 OPTIONS 响应中的“Access-Control-Allow-Origin: *”是一个漏洞吗?