在register.blade.php中提交表单时,您将被重定向回索引,而不是返回到显示错误的原始页面。我不知道为什么会这样。
调用控制器中的create方法,但在验证后执行停止(如预期的那样)。那里的索引没有重定向,所以我不确定为什么选择回到那里。我的理解是默认重定向到有错误的表单。
路线:
scanf("%s",&my_array [i])
register.blade.php
<?php
Route::get('/', function () {
return view('pages.index');
});
Route::get('/home', function () {
return redirect('/');
});
// Login //
Route::get('/user/login', function () {
return view('pages.user.login');
});
Route::post('/user/login', 'UserController@store');
// Register //
Route::get('/user/register', function () {
return view('pages.user.register');
});
Route::post('/user/register', 'UserController@create');
Route::post('/user/register', 'UserController@create');
// Logout //
Route::get('/user/logout', 'UserController@destroy');
errors.blade.php
@extends ('layout.master')
@section ('content')
<div class="row">
<div class="col-md-12">
<h1 align="center">User Registration</h1>
<br>
<form method="POST" action="/user/register">
{{ csrf_field() }}
<div class="form-group row">
<label for="name" class="col-sm-2 col-form-label">Full Name</label>
<div class="col-sm-10">
<input name="name" type="text" class="form-control" placeholder="Full Name">
</div>
</div>
<div class="form-group row">
<label for="phonenumber" class="col-sm-2 col-form-label">Phone Number</label>
<div class="col-sm-4">
<input name="phonenumber" type="tel" class="form-control" placeholder="Phone Number">
</div>
<label for="password" class="col-sm-2 col-form-label">Password</label>
<div class="col-sm-4">
<input name="password" type="password" id="password" class="form-control">
</div>
</div>
<div class="form-group row">
<label for="email" class="col-sm-2 col-form-label">Email</label>
<div class="col-sm-4">
<input name="email" type="email" class="form-control" placeholder="Email">
</div>
<label for="password_confirmation" class="col-sm-2 col-form-label">Confirm Password</label>
<div class="col-sm-4">
<input name="password_confirmation" type="password" id="password_confirmation" class="form-control">
</div>
</div>
<div class="form-group row">
<label for="street_address" class="col-sm-2 col-form-label">Street Address</label>
<div class="col-sm-10">
<input name="street_address" type="text" class="form-control" placeholder="Street Address">
</div>
</div>
<div class="form-group row">
<label for="city" class="col-sm-2 col-form-label">City / Town</label>
<div class="col-sm-10">
<input name="city" type="text" class="form-control" placeholder="City / Town">
</div>
</div>
<div class="form-group row">
<label for="region" class="col-sm-2 col-form-label">State / Province / Region</label>
<div class="col-sm-10">
<input name="region" type="text" class="form-control" placeholder="State / Province / Region">
</div>
</div>
<div class="form-group row">
<label for="zip" class="col-sm-2 col-form-label">Postal Code</label>
<div class="col-sm-10">
<input name="zip" type="text" class="form-control" placeholder="Postal Code">
</div>
</div>
<div class="text-center">
<button type="submit" class="btn btn-primary text-center">Submit</button>
</div>
</form>
<br>
@include('layout.errors')
</div>
</div>
@endsection
控制器:
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
答案 0 :(得分:2)
我遇到了完全相同的问题。为了详细说明OP的自我解答,此问题是由Firefox的“ network.http.referer.trimmingPolicy”配置键控制的,该配置键控制发送的“ Origin”标头。
在我的情况下,此密钥设置为(int)2,这使浏览器仅发送网站地址,而没有URI。
将密钥更改为(int)0可以解决此问题(可以尝试将其设置为(int)1)。
答案 1 :(得分:0)
问题在于我的Firefox配置设置。这就是去私人......
答案 2 :(得分:0)
对于某些可能会遇到此问题的人。我有一个referrer
策略设置的content="origin"
元标记。
这样做可以使重定向始终引用您的“来源”。
将<meta name="referrer" content="origin">
更改为<meta name="referrer" content="origin-when-cross-origin">
此article中的更多信息。