Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Permessi ballerini

  1. #1

    Permessi ballerini

    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?

  2. #2
    Non funzionano i permessi in che senso? non riesci ad includere il file?

    Logout.php cosa fa?

    P.

  3. #3
    Nel senso che, la prima volta che accedo alla pagina, license_has funziona, mentre la seconda volta no, e quindi non mi stampa a video il link per l'amministrazione. Come se la variabile $user sparisse: eppure mi logga senza problemi!
    Non riesco a capire la differenza tra la prima volta e la seconda.
    Logout.php non c'entra, non lo uso. Io intendo dire che, mediante una breadcrumb, torno alla home e poi di nuovo con un link accedo alla pagina incriminata.

  4. #4
    Aggiungo il link della pagina, così magari capite meglio
    http://kaspa.aimps.org/area_riservata

    utente di prova: Gra
    pw: morquio2

  5. #5

  6. #6

  7. #7

  8. #8
    Sono disperato e non demordo: c'è un sistema per assegnare i permessi agli utenti che mi consigliate?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.