【问题标题】:increment session增加会话
【发布时间】:2012-12-19 07:57:33
【问题描述】:

我有一个登录页面。当用户名或密码正确时,您将转到主页。但是在您输入错误的用户名和密码 3 次后,您会转到另一个页面(不是主页)。 我在登录页面开始一个会话。

session_start();
$_SESSION['login_time']=' ';

检查用户名和密码后,我想增加那个会话,如果它低于 4 留在登录页面:

session_start();
if ($_SESSION["login_time"] != null){
    $_var = (int)$_SESSION["login_time"] +1;
    $_SESSION["login_time"] = $_var;
 }
if($_SESSION['login_time']<4){
    header('Location: loginpage.php');  
}

但我的会话不会增加并且始终保持为 1。请帮助。

【问题讨论】:

  • 你应该只把session_start()放在开头,所以从第二段代码你应该删除session_start(),我认为其余的都很好
  • $_SESSION["login_time"] 在哪里定义?
  • 这两部分代码在单独的php页面中。
  • $_SESSION['login_time']='';而不是 $_SESSION['login_time']=' ';

标签: php session increment


【解决方案1】:
    session_start();
 //if login_time is not set, set it to 0   
    if(!isset($_SESSION["login_time"]))
        $_SESSION["login_time"] = 0;
    else
        $_SESSION["login_time"] += 1;
//else increase login_time

//if user did not exceed max tries redirect to loginpage again. 
    if($_SESSION['login_time']<4)
        header('Location: loginpage.php');  
    else
        header('Location: comelater.php');
//else send to comelater.php

注意,如果用户超过尝试次数,他将无法查看您编写此代码的页面,直到会话结束。

【讨论】:

    【解决方案2】:

    试试

    session_start();
    if ($_SESSION["login_time"] == null) $_SESSION["login_time"] = 0;
    $_SESSION["login_time"] += 1;
    if($_SESSION['login_time']<4){
        header('Location: loginpage.php');  
    }
    

    【讨论】:

      【解决方案3】:

      您应该使用 PHP isset() 来检查会话是否设置,而不是检查它是否不等于 null。

      session_start();
      
      if (isset($_SESSION['login_time'])) {
          $_var = (int) $_SESSION['login_time'] + 1;
          $_SESSION['login_time'] = $_var;
      } else {
          $_SESSION['login_time'] = 0;
      }
      
      if ($_SESSION['login_time'] < 4) {
          header('Location: loginpage.php');  
      }
      

      【讨论】:

        猜你喜欢
        • 2012-01-29
        • 2012-03-18
        • 2011-07-11
        • 1970-01-01
        • 2012-01-31
        • 2015-02-26
        • 1970-01-01
        • 2019-09-27
        • 2018-04-06
        相关资源
        最近更新 更多