Laravel-发布请求为空字段

时间:2018-09-24 11:01:36

标签: php laravel ubuntu nginx

我将LaravelNginxPHP 7.1Ubuntu 18一起使用。

我的登录表单如下:

Login.blade.php:

{!! Form::open(['action' => 'LoginController@login'],['class' => 'form'])!!}
    <h2 style="text-align: center;">{{__("Login to your account")}}</h2>
      {!! Form::text('timezone', null,
    array('style'=>'display:none',
      'class'=>'form-control',
      'id'=>'timezone',
      'placeholder'=>__('timezone'))) !!}

      {!! Form::text('pushToken', null,
    array('style'=>'display:none',
      'class'=>'form-control',
      'id'=>'pushToken',
      'placeholder'=>__('Token'))) !!}
   {!! Form::text('email', null,
    array('required',
      'class'=>'form-control',
      'placeholder'=>__('Email'))) !!}
   {!! Form::password('password',
    array('required','placeholder' => __('Password'))) !!}
    {!! Form::checkbox('remember_me', null, null, array(
    'class'=>'checkbox',
    'style'=>'width: fit-content; display: inline-block'
    ))!!}{{__("Remember Me")}}

   {!! Form::Submit(__('Login'), null,
    array(
      'class'=>'form-control'
      )) !!}

      {!! Form::close() !!}

在我的控制器中,当我尝试检查emailpassword的值时,它们始终为空。知道当我在ubuntu 16.04上进行测试时,一切都很好

控制器代码:

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\App;
use Request as Req;
use Session;
use Cookie;
use Config;
use Redirect;
class LoginController extends Controller
{


    public function login(Request $request)
    {
        $email = Req::input('email');
        $password = Req::input('password');
        echo $email;
}}

Composer.json

"require": {
        "php": ">=5.6.4",
        "guzzlehttp/guzzle": "^6.2",
        "laravel/framework": "5.5.*",
        "laravel/tinker": "~1.0",
        "laravelcollective/html": "^5.4",
        "maatwebsite/excel": "~2.1.0",
        "mariuzzo/laravel-js-localization": "^1.4",
        "nesbot/carbon": "^1.25",
        "symfony/psr-http-message-bridge": "^1.0"
    },

4 个答案:

答案 0 :(得分:1)

请使用传递给Request方法的参数login(),而不要使用在控制器类顶部已别名的请求。

 public function login(Request $request)
    {
        $email = $request->input('email');
        $password = $request->input('password');
        echo $email;
  }

答案 1 :(得分:1)

控制器方法始终接收参数Request。试试这个:

public function methodInYourController(Request $request)
{
    $email = $request->get('email');
    $password = $request->get('password');
}

答案 2 :(得分:1)

很多时候,.htaccess文件中都有问题。

默认情况下,laravel带有ModRewrite规则,该规则会将非文件或文件夹的所有内容重定向到index.php,但是ami永远无法正常工作...因此,每次执行项目时,我都会对其进行纠正。 我稍稍更改了语法以捕获除(。*)之外的所有内容。重新传输GET请求的QueryString非常重要的是关键字“ QSA” ,我在“ L”之后添加了(最后一条规则)

在我的情况下,我保留如下规则:

arr.length--;

我希望这对某人有帮助!

答案 3 :(得分:0)

我知道出了什么问题 在我的.env

SESSION_DOMAIN=.production.tld

删除了该行,现在一切正常