• ModSenior

    e perchè hai messo #?


  • User

    perchè i link non me li fa scrivere...nel forum nn sono un tente premiun...ma nel file materie.php che c'è sul mio sito e nel pc, al posto dell' asterisco c'è l' indirizzo del file "config.php"...


  • ModSenior

    guarda nel file require se c'è qualche die...


  • User

    if(mysql_num_rows($query) == 1)
    {
    // prelevo l'id dal database
    $login = mysql_fetch_array($query);

        // Creo una variabile di sessione
        $_SESSION['login'] = $login['id'];
        
        // reindirizzo l'utente
        header('Location: materie.php');
        exit;
    }
    // se non esiste da l'errore
    else
        die('Spiacente, Username o Password errati. Se sei un utente registrato contatta l    amministratore a questo indirizzo: INDIRIZZO ');

  • ModSenior

    Ma ti mostra una pagina bianca? hai la visualizzazione degli errori attiva nel php.ini?
    perchè deve mostrare per forza qualche errore non può darti una pagina bianca cosi...


  • User

    Aspetta 5 minuti, perchè mi sa che stò confondendo delle pagine con altre....ci sentiamo tra poco.


  • User

    si...avevo fatto qualche errore di battitiura qua e là...ora però mi resta sempre un dubbio...per proteggere una pagina....renderla privata, visualizzabile solo agli utenti registrati...inserisco a inizio pagina questo:
    [php]
    <?php
    // Includo la connessione al database
    require('#');
    // Se non stata definita la variabile manda l'utente alla homepage
    if(!isset($_SESSION['login']))
    {
    header('Location: #');
    exit;
    }
    ?>
    [/php]
    ??????????????????????????????????????????????????????????????


  • ModSenior

    direi che dovrebbe andare in quel modo...


  • User

    grazie 1000! Gentilissimo e pazientissimo come sempre. grazie ancora.


  • ModSenior

    prego 😉


  • User

    scusa ancora...ma non riesco a farlo funzionare...la pagina non è protetta (se io scrivo il link nellla barra degli indirizzi si vede tranquillamente) Praticamente ho seguito la tua guida; nella tua guida la pagina "privata.php" corrisponde nel mio sito alla magina "materie.php" è questa è perfettamente protetta. All' interno della pagina "materie.php" ci sono diversi link...le pagine linkate sono sempre dentro il mio sito, ma in cartelle diverse... E non vengono protette inserendo la parte di codice scritta sopra.....cm posso fare???


  • User Attivo

    ciao potresti postare il codice che controlla l'utente?

    ciao


  • User

    dici la pagina di login??? certamente:
    [PHP]
    <?php
    // Includo la connessione al database
    require('config-clas.php');

    // Se il modulo viene inviato...
    if(isset($_POST['login']))
    {

    // Dati Inviati dal modulo
    $user = (isset($_POST['user'])) ? trim($_POST['user']) : '';    // Metto nella variabile 'user' il dato inviato dal modulo, se non viene inviato dò di default ''
    $pass = (isset($_POST['pass'])) ? trim($_POST['pass']) : '';    // Metto nella variabile 'pass' il dato inviato dal modulo, se non viene inviato dò di default ''
    
    // Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza
    if (!get_magic_quotes_gpc()) {
        $user = addslashes($user);
        $pass = addslashes($pass);
    }
    
    // Controllo l'utente esiste
    $query = mysql_query("SELECT id FROM utenti WHERE user = '$user' AND pass = '$pass' LIMIT 1");
    
    // Se ha trovato un record
    if(mysql_num_rows($query) == 1)
    {
        // prelevo l'id dal database
        $login = mysql_fetch_array($query);
        
        // Creo una variabile di sessione
        $_SESSION['login'] = $login['id'];
        
        // reindirizzo l'utente
        header('Location: materie.php');
        exit;
    }
    // se non esiste da l'errore
    else
        die('Nome Utente o Password errati');
    

    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Login</title>
    </head>

    <body>
    <form action="" method="post">
    <input name="user" type="text" id="user" value="Nome Utente" onfocus="if(this.value=='Nome Utente') this.value='';" /><br />
    <input name="pass" type="password" id="pass" value="Password" onfocus="if(this.value=='Password') this.value='';" /><br />
    <input name="login" type="submit" value="Login" /><br />
    </form>
    </body>
    </html>
    [/PHP]


  • User Attivo

    @Ture_70 said:

    dici la pagina di login??? certamente:
    [php]
    <?php
    // Includo la connessione al database
    require('config-clas.php');

    // Se il modulo viene inviato...
    if(isset($_POST['login']))
    {

    // Dati Inviati dal modulo
    $user = (isset($_POST['user'])) ? trim($_POST['user']) : '';    // Metto nella variabile 'user' il dato inviato dal modulo, se non viene inviato dò di default ''
    $pass = (isset($_POST['pass'])) ? trim($_POST['pass']) : '';    // Metto nella variabile 'pass' il dato inviato dal modulo, se non viene inviato dò di default ''
    
    // Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza
    if (!get_magic_quotes_gpc()) {
        $user = addslashes($user);
        $pass = addslashes($pass);
    }
    
    // Controllo l'utente esiste
    $query = mysql_query("SELECT id FROM utenti WHERE user = '$user' AND pass = '$pass' LIMIT 1");
    
    // Se ha trovato un record
    if(mysql_num_rows($query) == 1)
    {
        // prelevo l'id dal database
        $login = mysql_fetch_array($query);
    
        // Creo una variabile di sessione
        $_SESSION['login'] = $login['id'];
    
        // reindirizzo l'utente
        header('Location: materie.php');
        exit;
    }
    // se non esiste da l'errore
    else
        die('Nome Utente o Password errati');
    

    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Login</title>
    </head>

    <body>
    <form action="" method="post">
    <input name="user" type="text" id="user" value="Nome Utente" onfocus="if(this.value=='Nome Utente') this.value='';" /><br />
    <input name="pass" type="password" id="pass" value="Password" onfocus="if(this.value=='Password') this.value='';" /><br />
    <input name="login" type="submit" value="Login" /><br />
    </form>
    </body>
    </html>
    [/php]

    premetto che non sono una cima in php cmq
    dove fai la selec aspè che te lo scrivo
    non veeo session_start sopra!
    [PHP]
    // Controllo l'utente esiste
    ("SELECT id FROM utenti WHERE user = '$user' AND pass = '$pass' LIMIT 1");
    //poi assegni ad una variabile il risultato
    $risultato=mysql_query($query)or die(bla bla..)
    if($dati=mysql_fetch_array($risultato,MYSQL_ASSOC))
    {
    $username=$dati['user'];
    $password=$dati['pwd'];
    $_SESSION['username']=isset($_POST['username']);
    $_SESSION['password']=isset($_POST['password']);
    $_SESSION['valid_time']=time();
    header('location:'.'../lo fai entrare.php');
    }
    else
    {
    $messaggio=urlencode("Username e/o Password errata");
    header('location:'.'../non fai entrare.php'.'?msg='.$messaggio);
    exit;
    }

    [/PHP]
    vedi se va

    ciao


  • User

    ma...il login mi funziona...mi entra tranquillamente nella pagina materie.php (che è protetta)...nella pagina materie.php sono linkate diverse pagine 8sempre del mio sito, ma in cartelle diverse) e praticamente vorrei sapere come fare per proteggere queste pagine....


  • User Attivo

    @Ture_70 said:

    ma...il login mi funziona...mi entra tranquillamente nella pagina materie.php (che è protetta)...nella pagina materie.php sono linkate diverse pagine 8sempre del mio sito, ma in cartelle diverse) e praticamente vorrei sapere come fare per proteggere queste pagine....


    prova a mettere nelle tue pagine che vuoi proteggere
    [PHP]
    if(!isset($_SESSION['username']))
    {
    $messaggio=urlencode("Ti consiglio di autenticarti");
    header('location:'.lo percorso.php'.'?msg='.$messaggio);
    exit;
    }
    [/PHP]

    mettendo sempre prima i file di connessione

    fammi sapere

    ciao


  • User

    "mettendo sempre prima i file di connessione"...cosa significa??? (scusa la mia ignoranza)


  • User Attivo

    @Ture_70 said:

    "mettendo sempre prima i file di connessione"...cosa significa??? (scusa la mia ignoranza)

    penso che tu abbia un file config oppure conn.php
    [PHP]
    require 'config.php';
    require 'connect.php';
    [/PHP]

    cmq prova pure senza e vedi che dice

    ciao


  • User

    si...ho un file config-clas.php


  • User

    è un pezzo di codice php giusto??? quindi nelle pagine metto questo:
    [php]
    require ('config-clas.php');
    [/php]

    il file config-clas.php si trova in una cartella, quindi dovrei mettere:
    [php]
    require ('indirizzo_del_file/config-clas.php');
    [/php]
    ???????????????????????????????????