PHP问题:否则条件不执行

时间:2009-06-29 15:26:28

标签: php

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部分内的代码不执行

3 个答案:

答案 0 :(得分:7)

$session->login(...必须以某种方式总是评估为真。你可能最好发布登录方法的代码。

答案 1 :(得分:2)

也许登录以字符串形式返回"false"?它评估为true,因为它不为空。

答案 2 :(得分:1)

没有特定的错误或实现细节,或提示PHP运行时或内置或库已损坏......

这看起来像返回,检查,调试