Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di coteaz
    Registrato dal
    Mar 2006
    Messaggi
    365

    [php] costruzione stringa CONDIZIONE IF - facile

    Salve ho un problema stupido mi date una mano?

    ho una funzione che in base ad alcuni parametri presi dal DB mi scrive una stringa del tipo

    $stringa = "( (isset($_SESSION[UTENTE_id])) && ($_SESSION[UTENTE_livello] == 1) && 1 )"

    vorrei fare in modo che questa stringa sia la condizione di un if del tipo

    if ( ( (isset($_SESSION[UTENTE_id])) && ($_SESSION[UTENTE_livello] == 1) && 1 ) )

    ovviamente se scrivo if( $stringa ) sarà sempre vero, quindi la soluzione non è questa;

    come posso fare per creare questo "if dinamico"

    grazie

  2. #2
    Perche' invece di creare una stringa imposti la variabile come booleana con il risultato di isset($_SESSION['UTENTE_id']) && ($_SESSION['UTENTE_livello'] == 1) ?

  3. #3
    Utente di HTML.it L'avatar di coteaz
    Registrato dal
    Mar 2006
    Messaggi
    365
    e poi faccio un casting ad intero... potrebbe essere una soluzione!

  4. #4

  5. #5
    Utente di HTML.it L'avatar di coteaz
    Registrato dal
    Mar 2006
    Messaggi
    365
    così sono sicuro che una stringa con valore 1 sia un numero intero... no?

  6. #6
    Se segui il suggerimento ed utilizzi una variabil boolean, non hai bisogno di alcun casting.

  7. #7
    Utente di HTML.it L'avatar di coteaz
    Registrato dal
    Mar 2006
    Messaggi
    365
    però mi sa che nn si puo fare xkè ho gia degli if che mi costruiscono la mia stringa

    $stringa_if = '( (isset($_SESSION[UTENTE_id])) && ';

    if($AUTORIZZAZIONE_1 == 'checked')
    $stringa_if.= '($_SESSION[UTENTE_livello] == 1) && ';
    if($AUTORIZZAZIONE_2 == 'checked')
    $stringa_if.= '($_SESSION[UTENTE_livello] == 2) && ';
    if($AUTORIZZAZIONE_3 == 'checked')
    $stringa_if.= '($_SESSION[UTENTE_livello] == 3) && ';
    if($AUTORIZZAZIONE_4 == 'checked')
    $stringa_if.= '($_SESSION[UTENTE_livello] == 4) && ';
    if($AUTORIZZAZIONE_5 == 'checked')
    $stringa_if.= '($_SESSION[UTENTE_livello] == 5) && ';
    if($AUTORIZZAZIONE_6 == 'checked')
    $stringa_if.= '($_SESSION[UTENTE_livello] == 6) && ';

    $stringa_if.= '1 )';

  8. #8
    Non vedo il problema.

    $cond = isset($_SESSION['UTENTE_id']);

    if ($AUTORIZZAZIONE_1 == 'checked') {
    $cond = $cond && ($_SESSION['UTENTE_livello'] == 1);
    }

    etc.

  9. #9
    Utente di HTML.it L'avatar di coteaz
    Registrato dal
    Mar 2006
    Messaggi
    365
    provo, grazie

  10. #10
    Utente di HTML.it L'avatar di coteaz
    Registrato dal
    Mar 2006
    Messaggi
    365
    nel caso le condizioni sono vere mi restituisce uno altrimenti non mi restituisce nessun valore...

    secondo te faccio if(isset($cond)) oppure if($cond) ?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.