Visualizzazione dei risultati da 1 a 7 su 7

Discussione: accedere a sessioni

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    255

    accedere a sessioni

    salve ragazzi sono nuovo di php e volevo chiedervi una cosa facilissima,ma che io x ora nn riesco a fare....praticamente ho un 3 tipi di utenti(admin,dirigente,mpiegato),vorrei fare in modo che alla pagina mailing possano accedere oltre all'admin anke il dirigente,ma nn l'impiegato...fare accedere l'admin ci siamo,ma ora permettere anke all'utente dirigente come posso modifare tale codice....grazie
    Codice PHP:
    <?
    session_start
    ();
    if (
    $_SESSION["tipo"] <> "admin") {
        
    header("location:login.php");
    } else {
        
    $db mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die(mysql_error());    //connessione al database
        
    mysql_select_db(DB_NAME,$db) or die(mysql_error());
        
    $sezione "mailing";
        (isset(
    $_REQUEST["action"])) ? $action $_REQUEST["action"] : $action 'mailing';  
        if (
    $action) {
            include 
    "module/$sezione/$action.php";
        }
        
    mysql_close($db);                       
    }
    ?>

  2. #2
    <?
    session_start();
    if ($_SESSION["tipo"] <> "admin") {
    header("location:login.php");
    } else {
    $db = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die(mysql_error()); //connessione al database
    mysql_select_db(DB_NAME,$db) or die(mysql_error());
    $sezione = "mailing";
    (isset($_REQUEST["action"])) ? $action = $_REQUEST["action"] : $action = 'mailing';
    if ($action) {
    include "module/$sezione/$action.php";
    }
    mysql_close($db);
    }
    ?>

    Il problema è che con il primo if() tu sbatti fuori l'utente se non è 'admin' ed il resto dello script non viene eseguito.
    fai così

    if ($_SESSION["tipo"] != "admin" || $_SESSION["tipo"] != "dirigente") {
    header("location:login.php");
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    255
    avevo già provato così,ma non va...nn mi fa accedere alla pagina

  4. #4
    concordo con bombyboom.
    facendo cosi
    Codice PHP:
    if ($_SESSION["tipo"] != "admin" || $_SESSION["tipo"] != "dirigente") {
    header("location:login.php");

    dovrebbe funzionare.
    Se fai una stampa di $_SESSION["tipo"] cosa ottieni?

  5. #5
    Per quanto ti dico di partenza che il metodo che usi te non è che sia proprio dei migliori e dei più sicuri, il concetto di partenza è che puoi scrivere in due modi:
    Codice PHP:
    if ($_SESSION["tipo"] != "admin" && $_SESSION["tipo"] != "dirigente") { 
    // messaggio di mancanza permessi 

    Oppure:
    Codice PHP:
    if ($_SESSION["tipo"] == "impiegato") { 
    // messaggio di mancanza permessi 

    Ti consiglio caldamente di leggere la Guida sicurezza di PHP per capire come propagare le informazioni degli utenti della tua applicazione in modo sicuro.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  6. #6
    E' vero nel controllo ci va && e non ||

    if ($_SESSION["tipo"] != "admin" && $_SESSION["tipo"] != "dirigente") {
    // messaggio di mancanza permessi
    }
    [/PHP]

  7. #7

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.