Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我的POST请求转到302 Found并调用GET_Php_Laravel_.htaccess_Permissions_Apache2 - Fatal编程技术网

Php 我的POST请求转到302 Found并调用GET

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

我想设置AWS,Apache2PHP7
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']);
}