Questo è il mio codice
Codice PHP:
list($status$user) = auth_get_status();

switch(
$status)
  {case 
AUTH_LOGEDD_IN#ora mi loggo
    
switch(auth_get_option("TRANSICTION METHOD"))
      {
            case 
AUTH_USE_LINK:
        break;
            case 
AUTH_USE_COOKIE:
        
setcookie('uid'$uidtime()+3600*365'/');
        break;
            case 
AUTH_USE_SESSION:
        
$_SESSION['uid'] = $uid;
              break;
          }
    
$content 
<<<HTML
  

Sei loggato!</p>
  

[url="logout.php"]Logout[/url]</p>
HTML;
    if( 
license_has($user"webmaster") )
      { 
$content .= "

<a href=\"../admin/index.php\">Accedi all'amministrazione</a></p>"
; }
    case 
AUTH_LOGGED#sono già loggato
    
$content 
<<<HTML
  

Sei loggato!</p>
  

[url="logout.php"]Logout[/url]</p>
HTML;
    if( 
license_has($user"webmaster") )
      { 
$content .= "

<a href=\"../admin/index.php\">Accedi all'amministrazione</a></p>"
; }
    
$perm mysql_query("SELECT id FROM permessi WHERE nome = 'test'");
    
$rowperm mysql_fetch_row($perm);
    
$content .= "

$rowperm[0]</p>";
      
$permessi license_user_get_perms(user_get_id($user));
    
$content .= "

$permessi</p>";
    break;

le funzioni sono
Codice PHP:
function auth_get_status()
{    
global 
$_CONFIG;
auth_clean_expired();
$uid auth_get_uid();
if(
is_null($uid))
    {return array(
100NULL);}
$result mysql_query("SELECT U.name as nome, U.surname as cognome, U.username as username FROM $_CONFIG[table_sessioni] S, $_CONFIG[table_utenti] U WHERE S.user_id=U.id and S.uid='$uid' ");
if(
mysql_num_rows($result) != 1)
    {return array(
100NULL);}
else
  {
  
$user_data mysql_fetch_assoc($result);
    return array(
99array_merge($user_data, array('uid' => $uid)));
  }
}
function 
auth_get_uid()
$uid NULL;

    switch(
auth_get_option("TRANSICTION METHOD"))
  { case 
AUTH_USE_COOKIE:
            global 
$_COOKIE;
            
$uid $_COOKIE['uid'];
        break;
        case 
AUTH_USE_LINK:
            global 
$_GET;
            
$uid $_GET['uid'];
        break;
    }

    return 
$uid $uid NULL;
}
function 
auth_clean_expired()
{
global 
$_CONFIG;
$result mysql_query("SELECT creation_date FROM {$_CONFIG[table_sessioni]} WHERE uid='".auth_get_uid()."'");
if(
$result)
  {
  
$data mysql_fetch_array($result);
    if(
$data['creation_date'])
    {
    if(
$data['creation_date'] + $_CONFIG['expire'] <= time())
      {
      switch(
auth_get_option("TRANSICTION METHOD"))
        {
        case 
AUTH_USE_COOKIE:
                     
setcookie('uid'''time()-3600'/');
                  break;
                case 
AUTH_USE_LINK:
                    global 
$_GET;
                    
$_GET['uid'] = NULL;
                    break;
                }
            }
        }
    }
    
mysql_query("DELETE FROM {$_CONFIG[table_sessioni]} WHERE creation_date + {$_CONFIG[expire]} <=".time() );
}
function 
license_has($user$perm)
{
    
$permessi license_user_get_perms(user_get_id($user));
    
$perm mysql_query("SELECT id FROM permessi WHERE nome = '$perm'");
    
$rowperm mysql_fetch_row($perm);
  if (
$permessi >= $rowperm['0'])
      {return 
TRUE;}
    else
       {return 
FALSE;}
}
function 
license_user_get_perms($id)
{
    
$result mysql_query("SELECT permessi FROM utenti WHERE id = '$id'");
  
$row mysql_fetch_row($result);
  return 
$row['0'];
}
function 
user_get_id($user)
{
  
$result mysql_query("SELECT id FROM utenti WHERE username='$user[username]' and password='$user[password]'");
  
$row mysql_fetch_row($result);
  return 
$row['0'];

Ora, quando mi loggo va tutto bene, se però me ne vado dalla pagina, rimanendo sullo stesso sito, e poi provo a tornare nella pagina "protetta" mi si rilogga ma stavolta non mi funziona il controllo permessi, nel senso che proprio non riesce a "leggere" i permessi dell'utente.
Mi aiutate?