• User

    pagina vuota. Perchè????

    Salve a tutti, ho creato con l' aiuto di questo forum un login. Ora, vorrei far entrare in alcune pagine solo gli utenti loggati. Un adi queste pagine è:
    materie.php
    [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;
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
    <html xmlns="">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Area privata</title>
    </head>
    <body>
    <body bgcolor="black">
    <font color= "yellow">
    In questa sezione del sito dovrai scegliere la materia che ti interessa. Trovarai giornalmente chi è stato interrogato e quando sono stati svolti i compiti in classe. Lo scambio di informazioni semplifica la vita...no???
    </font>
    <br>
    <br>
    <table width="650" height="300" border="0")>
    <td> <center> <font color="yellow"> ITALIANO </font> </center> </td>
    <td> <center> <font color="yellow"> <form action="#">
    <input type="submit" value="Scritto"> </form> </font> </center>
    </td>
    <td> <center> <font color="yellow"> <form action="#">
    <input type="submit" value="Orale"> </form> </font> </center>
    </td>
    <tr>
    <td> <center> <font color="yellow"> STORIA </font> </center> </td>
    <td> <center> <font color="yellow"> <form action="">
    <input type="submit" value="Scritto"> </form> </font> </center>
    </td>
    <td> <center> <font color="yellow"> <form action="#">
    <input type="submit" value="Orale"> </form> </font> </center>
    </td>
    <tr>
    <td> <center> <font color="yellow"> CHIMICA </font> </center> </td>
    <td> <center> <font color="yellow"> <form action="#">
    <input type="submit" value="Scritto"> </form> </font> </center>
    </td>
    <td> <center> <font color="yellow"> <form action="#">
    <input type="submit" value="Orale"> </form> </font> </center>
    </td>
    <tr>
    <td> <center> <font color="yellow"> LATINO </font> </center> </td>
    <td> <center> <font color="yellow"> <form action="#">
    <input type="submit" value="Scritto"> </form> </font> </center>
    </td>
    <td> <center> <font color="yellow"> <form action="#">
    <input type="submit" value="Orale"> </form> </font> </center>
    </td>
    <tr>
    <td> <center> <font color="yellow"> INGLESE </font> </center> </td>
    <td> <center> <font color="yellow"> <form action="#">
    <input type="submit" value="Scritto"> </form> </font> </center>
    </td>
    <td> <center> <font color="yellow"> <form action="#">
    <input type="submit" value="Orale"> </form> </font> </center>
    </td>
    <tr>
    <td> <center> <font color="yellow"> FRANCESE </font> </center> </td>
    <td> <center> <font color="yellow"> <form action="#">
    <input type="submit" value="Scritto"> </form> </font> </center>
    </td>
    <td> <center> <font color="yellow"> <form action="#">
    <input type="submit" value="Orale"> </form> </font> </center>
    </td>
    <tr>
    <td> <center> <font color="yellow"> MATEMATICA </font> </center> </td>
    <td> <center> <font color="yellow"> <form action="#">
    <input type="submit" value="Scritto"> </form> </font> </center>
    </td>
    <td> <center> <font color="yellow"> <form action="#">
    <input type="submit" value="Orale"> </form> </font> </center>
    </td>
    <tr>
    <td> <center> <font color="yellow"> FISICA </font> </center> </td>
    <td> <center> <font color="yellow"> <form action="#">
    <input type="submit" value="Scritto"> </form> </font> </center>
    </td>
    <td> <center> <font color="yellow"> <form action="#">
    <input type="submit" value="Orale"> </form> </font> </center>
    </td>
    <tr>
    <td> <center> <font color="yellow"> FILOSOFIA </font> </center> </td>
    <td> <center> <font color="yellow"> <form action="#">
    <input type="submit" value="Scritto"> </form> </font> </center>
    </td>
    <td> <center> <font color="yellow"> <form action="#">
    <input type="submit" value="Orale"> </form> </font> </center>
    </td>
    </table>
    </body>
    </html>
    [/php]

    Perchè la pagina mi si presenta bianca??? vuota???
    se controllo l' HTML della pagina (quando è in linea) risulta completamente vuoto. come posso fare??? grazie.


  • ModSenior

    require('#');

    che dovrebbe fare questo require?


  • User

    è una di quelle pagine dove possono entrare solo gli utenti registrati...per "proteggerla"....serve a non fare entrare tutti


  • User

    vicino require, al posto di # c'è
    l' indirizzo del file config.php


  • 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