2009-06-29 59 views
-3
function procLogin($user, $pass, $remember, $hostname, $domainame) 
{ 
    global $session, $form; 

    $retval = $session->login($user, $pass, $remember); 
    if ($retval) 
    { 
    if ($session->userlevel == 9) 
     if ($session->isAdmin()) 
     return (array( 
      $session->userlevel, $session->userid 
     )); 
    } else { 
    $process = new process(); 
    //process->s_Host('domain.com'); 
    //$process->s_Domain('domain.com'); 
    $process->s_Host($hostname); 
    $process->s_Domain($domainname); 
    $process->s_processSecure(false); 

    $process->s_User($user); 
    $process->s_Pass($pass); 
    // First check we actually have a username and password set inside the process object. 
    if ($process->g_User() && $process->g_Pass()) 
    { 
     if ($process->processConn()) 
     { 
     if ($process->processBind()) 
     { 
      return 'google'; 
     } 
     } 
    } 
    } 
} 

我的问题是,如果登录是假的,为什么它不向着else条件....PHP问题:不执行else条件

如果我删除其他部分中的代码,并把回报“没有”它的工作....我只是想知道,为什么其他部分中的代码不执行

+2

什么特别不工作? – 2009-06-29 15:27:14

+0

它永不执行吗?你是否收到错误消息?你能提供更多的信息吗? – 2009-06-29 15:28:06

+3

格式化括号可以帮助你看看是怎么回事:P – 2009-06-29 15:28:56

回答

7

$session->login(...必须以某种方式始终为true。发布登录方法的代码可能会更好。

1

没有一个特定的错误或执行的细节,或暗示,PHP运行或内置或库被打破......

这看起来像的情况下回去,检查,调试

2

也许登录名是返回"false"作为一个字符串?它正在评估为真,因为它不为空。