Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.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 Laravel 5.4设置和增加自定义会话变量_Php_Session_Laravel 5 - Fatal编程技术网

Php Laravel 5.4设置和增加自定义会话变量

Php Laravel 5.4设置和增加自定义会话变量,php,session,laravel-5,Php,Session,Laravel 5,我是拉雷维尔的新手。我正在尝试使用会话设置失败登录尝试的计数器。然而,我无法使它工作。这是我的UserController,负责注册、登录和注销。我想有一个全局变量,我可以从登录表单访问它,如果有两个以上的登录失败,则强制用户使用CAPTCHA public function postSignIn(Request $request) { $failedAttempt = Session::get('FailedAttempts'); if(!isset($failedAttempt)

我是拉雷维尔的新手。我正在尝试使用会话设置失败登录尝试的计数器。然而,我无法使它工作。这是我的UserController,负责注册、登录和注销。我想有一个全局变量,我可以从登录表单访问它,如果有两个以上的登录失败,则强制用户使用CAPTCHA

public function postSignIn(Request $request)
{
   $failedAttempt = Session::get('FailedAttempts');
   if(!isset($failedAttempt)) $failedAttempt = 0;

    $this->validate($request, [
        'email' => 'required',
        'password' => 'required'
    ]);
    if (Auth::attempt(['email' => $request['email'], 'password' => 
           $request['password'], 'active' => 1])) {
        return redirect()->route('dashboard');
    } else {
        $failedAttempt++;
        Session::put('FailedAttempts', $failedAttempt);
        dd("Counter: " . $failedAttempt); //<- Always 1!!!
    }
public function postSignIn(请求$Request)
{
$FailedAttempts=Session::get('FailedAttempts');
如果(!isset($failedAttempt))$failedAttempt=0;
$this->validate$请求[
'电子邮件'=>'必需',
'密码'=>'必需'
]);
如果(身份验证::尝试(['email'=>$request['email'],'password'=>
$request['password'],'active'=>1])){
return redirect()->route('dashboard');
}否则{
$failedAttempt++;
会话::put('FailedAttempts',$FailedAttempts);

dd(“计数器:.$failedAttempt);//我确信您在某些时候犯了错误。请尝试此操作以请求向会话插入/放置值

https://laracasts.com/discuss/channels/eloquent/how-to-set-a-session-variable?page=1

非持久会话的秘密我仍然不知道,但我的解决方案是使用
session::save()

我在这里找到了答案:

有些人将此归咎于Nginx+phpfpm

Session::put('FailedAttempts', $failedAttempt);
Session::save();