繁体   English   中英

elseif如果不使用用户特定的登录名

[英]elseif not working in user specific login

我正在尝试设置一个非常基本的登录名,该登录名将根据用户(成员或管理人员)的“类型”而转到两个页面之一。 我可以使其适用于官员,也可以使其适用于成员,但是当我尝试使用else时,如果它不能正常工作。 我的“官员”用户可以登录,但被带到该成员的页面。 我的“会员”用户根本无法登录。 谢谢你的帮助。

这是我的代码:

    <?php
    if (!file_exists($userlist) || !is_readable($userlist)) {
    $error = 'There is  a major jam up at the Login Center. Please try again later.';
    } else {
    // read the file into an array called $users
    $users = file($userlist);
     // loop through the array to process each line
     for ($i = 0; $i < count($users); $i++) {
// separate each element and store in a temporary array
$tmp = explode(',', $users[$i]);
// check for a matching record
if ($tmp[0] == $username && $tmp[1] == $password &&  rtrim($tmp[2]) == 'member') {
     $_SESSION['authenticated'] = 'member';
     $_SESSION['start'] = time();
  session_regenerate_id();}

     elseif ($tmp[0] == $username && $tmp[1] == $password &&  rtrim($tmp[2])== 'officer') {
    $_SESSION['authenticated'] = 'officer';
  $_SESSION['start'] = time();
  session_regenerate_id();

  break;
}
      }
    // if the session variable has been set, redirect
    if (isset($_SESSION['authenticated']) || $SESSION['authenticated'] == 'member'){
header("Location: $members_redirect");
exit;}

    elseif (isset($_SESSION['authenticated']) || $SESSION['authenticated'] == 'officer'){
header("Location: $officers_redirect");
exit;


    } else {
$error = 'Invalid username or password.';
   }
   }

您有|| (或)代替&& (和)

尝试这个

if (isset($_SESSION['authenticated']) && $SESSION['authenticated'] == 'member'){
    header("Location: $members_redirect");
    exit;
}
elseif (isset($_SESSION['authenticated']) && $SESSION['authenticated'] == 'officer'){
    header("Location: $officers_redirect");
    exit;
}

ifelseif中的$ _SESSION变量中缺少下划线

if (isset($_SESSION['authenticated']) || $SESSION['authenticated'] == 'member')

改成:

if (isset($_SESSION['authenticated']) && $_SESSION['authenticated'] == 'member')

elseif (isset($_SESSION['authenticated']) && $_SESSION['authenticated'] == 'officer')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM