我将Laravel
与Nginx
,PHP 7.1
和Ubuntu 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() !!}
在我的控制器中,当我尝试检查email
和password
的值时,它们始终为空。知道当我在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"
},
答案 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
删除了该行,现在一切正常