Php 我的POST请求转到302 Found并调用GET
我想设置AWS,Apache2,PHP7,Php 我的POST请求转到302 Found并调用GET,php,laravel,.htaccess,permissions,apache2,Php,Laravel,.htaccess,Permissions,Apache2,我想设置AWS,Apache2,PHP7,Laravel 5.3 当我尝试将发布到/login时,它会将我重定向到获取/login POST/login在路由中启用,它位于列表中。。。但它不起作用 你能帮我找到一个在哪里可以看到虫子的主意吗?求你了 表格: Apache2 conf文件: <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/lara-art/public
Laravel 5.3
当我尝试将发布到/login
时,它会将我重定向到获取/login
POST
/login
在路由中启用,它位于列表中。。。但它不起作用
你能帮我找到一个在哪里可以看到虫子的主意吗?求你了
表格:
Apache2 conf文件:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/lara-art/public
<Directory /var/www/lara-art/public>
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
服务器管理员webmaster@localhost
DocumentRoot/var/www/lara art/public
选项索引跟随符号链接
允许超越所有
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
LoginController.php:
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/artworks';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest', ['except' => 'logout']);
}
protected function credentials(Request $request)
{
$field = filter_var($request->input($this->username()), FILTER_VALIDATE_EMAIL) ? 'email' : 'username';
$request->merge([$field => $request->input($this->username())]);
return $request->only($field, 'password');
}
protected function attemptLogin(Request $request)
{
return $this->guard()->attempt(
$this->credentials($request), $request->has('remember')
) &&
\Auth::user()->type->name!='art_lover';
}
protected function sendFailedLoginResponse(Request $request)
{
\Auth::logout();
return redirect()->back()
->withInput($request->only($this->username(), 'remember'))
->withErrors([
$this->username() => \Lang::get('auth.failed'),
]);
}
public function username()
{
return 'login';
}
}
Laravel使用Auth::routes()代码>
使用GET
requestlaravel返回视图,
但是POST
requestlaravel检查您的登录数据是否正确。。。
如果您的登录名和密码不正确重定向
返回错误;
您可以在视图中看到laravel验证错误
例如:
@if($errors->any())
@foreach($errors->all() as $error)
<p>{{ $error }}</p><br/>
@endforeach
@endif
对不起,我的英语不好。)它是将您从/login
重定向到/login/
,还是反之亦然?您可以显示您的登录控制器吗?使用LoginControllery更新您可以使用Auth::routes()代码>我只评论过一次路线。起初有两个Auth::routes();现在-一次。这是php服务器语言,你只需要在视图@if($errors->any())@foreach($errors->all()as$error){{$error}}
@endforeach@endif
请将此代码插入到你的视图刀片中,并检查是否返回错误。多谢各位!现在我知道在哪里可以找到!))非常感谢。
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/artworks';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest', ['except' => 'logout']);
}
protected function credentials(Request $request)
{
$field = filter_var($request->input($this->username()), FILTER_VALIDATE_EMAIL) ? 'email' : 'username';
$request->merge([$field => $request->input($this->username())]);
return $request->only($field, 'password');
}
protected function attemptLogin(Request $request)
{
return $this->guard()->attempt(
$this->credentials($request), $request->has('remember')
) &&
\Auth::user()->type->name!='art_lover';
}
protected function sendFailedLoginResponse(Request $request)
{
\Auth::logout();
return redirect()->back()
->withInput($request->only($this->username(), 'remember'))
->withErrors([
$this->username() => \Lang::get('auth.failed'),
]);
}
public function username()
{
return 'login';
}
}
@if($errors->any())
@foreach($errors->all() as $error)
<p>{{ $error }}</p><br/>
@endforeach
@endif
public function login(Request $request)
{
$this->validate($request, [
'email' => 'required',
'password' => 'required|min:6',
]);
if(Auth::attempt(['email' => $request->email, 'password' => $request->password])){
return redirect(base_url('/'));
}
return redirect()->back()->withInput()->withErrors(['email'=> 'error message']);
}