alla fine ho fatto così, dici possa andare bene?
Anche se ho un utente che al momento non riesce ad accedere pur avendo i permessi abilitati ...
lui ha codice : 01100 ... credo che inserendo un codice a 5 cifre nelle condizioni non vada bene... manca il controllo in quel senso.
Codice PHP:
$id=filter_var(trim($_GET['id']), FILTER_SANITIZE_FULL_SPECIAL_CHARS);
$sql='SELECT * FROM t_forum WHERE id = "'.$id.'" ';
$result = mysqli_query($dbLink,$sql);
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
$nome=$row['nome'];
$descrizione=$row['descrizione'];
$genitore=$row['genitore'];
$tipo =$row['tipo'];
$lettura = explode(',',$row['lettura']);
$scrittura = explode(',',$row['scrittura']);
mysqli_free_result($result);
$sql='SELECT * FROM t_utenti WHERE utente = "'.$_SESSION['utente'].'" ';
$result = mysqli_query($dbLink,$sql);
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
$permessi=$row['icoView'];
$gruppo= substr($row['icoView'],0,3);
$grado= substr($row['icoView'],3,5);
mysqli_free_result($result);
if ( !empty($lettura[0]) ) { $avviso='accesso riservato'; }
$check = 0;
for ($i = 0, $n = count($lettura) ; $i < $n ; $i++) { if($lettura[$i]===$gruppo ) { $check=1; } }
for ($i = 0, $n = count($lettura) ; $i < $n ; $i++) { if($lettura[$i]===$grado ) { $check=1; } }
if( $lettura[0]!='' && $check == '0' ) { echo ' - ACCESSO VIETATO - '; exit; }
if($scrittura[0]!='') {
for ($i = 0, $n = count($scrittura) ; $i < $n ; $i++) { if($scrittura[$i]===$gruppo ) { $check=1; } }
for ($i = 0, $n = count($scrittura) ; $i < $n ; $i++) { if($scrittura[$i]===$grado ) { $check=1; } }
if( $check == '1' ) { $scrivi=1; }
} else { $scrivi=1;}