• User

    sessioni php area riservata

    ciao a tutti,
    sto cercando di creare un'area riservata sul mio sito esto utilizzando le sessioni ecco il codice dubbio:
    [php]@session_start();
    $_SESSION["utente"] = $_POST["utente"];
    $_SESSION["password"] = $_POST["password"];
    [/php]qui cosa succede???
    queste 2 righe registrano nome utente e pwd sulla sessione????
    se è così, nelle altre pagine del sito come faccio a estrare le variabili $utente e $password???????
    ciap e grazie mille:?:?
    p.s-=non uso database mysql


  • User Attivo

    Quelle righe di codice che hai postato servono per creare due variabili di sessione.
    Per recuperare le informazioni salvate devi usare:

    [PHP]
    if(isset($_SESSION["utente"]) && isset($_SESSION["password"]))
    echo "Ciao " . $_SESSION["utente"] . " (Password: " . $_SESSION["password"] . ")";
    [/PHP]

    Ciao!


  • User

    @Sups said:

    Quelle righe di codice che hai postato servono per creare due variabili di sessione.
    Per recuperare le informazioni salvate devi usare:

    [php]
    if(isset($_SESSION["utente"]) && isset($_SESSION["password"]))
    echo "Ciao " . $_SESSION["utente"] . " (Password: " . $_SESSION["password"] . ")";
    [/php]Ciao!
    supergrazie per la risposta superveloce!!!! funziona!!!


  • User

    grazie per la risposta ma ho un nuovo dubbio....
    allora io non ho nessun tipo di db,
    e vorrei fare in modo che i miei utenti possano compilare un campo, e che questo venga reso visibile nella loro area privata sempre.... come faccio????
    si può fare????
    eventualmente si potrebbe organizzare in tabelle???❌x
    grazie mille a tutti


  • User Attivo

    Se vuoi che l'utente inserisca dei dati che poi potrà visualizzare nell'area privata, devi usare un DB, oppure un file di testo dove salvi le informazioni di ogni singolo utente.

    Ecco un piccolo esempio per salvare e leggere i dati da un file:

    [PHP]
    $path_file = $_SESSION["utente"] . ".txt";

    $data[0] = $_SESSION["utente"];
    $data[1] = $_SESSION["password"];
    $data[2] = $_SESSION["nome"];
    $data[3] = "Altro ;)";

    $file = @fopen($path_file, "w");
    fwrite($file, serialize($data));
    fclose($file);

    if(file_exists($path_file))
    {
    $vet = file($path_file);
    $data = unserialize($vet[0]);

    for($i = 0; $i <= count($data); $i++)
    {
        echo $data* . "<br>";
    }
    

    }
    [/PHP]


  • User

    ciao a tutti....
    cambio di programma!!!!
    domani acquisto il db mysql....:fumato::fumato:
    a questo punto dovrò rivoluzionare lo script per l'area riservata.. 😞
    :gtsad:
    dovrebbe essere multiutente, nel senso che ogni utente ha una sua propria pagina di riepilogo, ma non c'è bisogno che questi dati vengano generati dinamicamente(per ora faccio con include da php)... perfavore...mi potete dare uno spunto????
    e invece come posso risolvere (ora con db) l'inserimento da parte dell'utente e la visualizzazione perenne di alcuni dati????
    ultimo problema e forse il più grosso di quelli elencati: si può fare un form di registrazione per gli utenti, al termine del quale venga inserito nella tabella di elenco degli utenti il nuovo userid e la nuova pwd???
    Aiuto!!! Non conosco molto php e sono nei guai!!:bho::bho:
    Ciao a presto
    P.S.=Buonanotte a tutti!!!
    @sups grazie mille dello script che hai postato....utilissimo!!!!:sun:


  • ModSenior

  • User

    @thedarkita grazie mille del link
    giorgiotave.it/forum/php-mysql/83033-tutorial-area-privata.html
    ma... in questo modo tutti gli utenti potranno vedere la stessa pagina???
    quindi sia l'utente ciao:ciauz: che l'utente tantisaluti vedranno la pag. privata???:):x


  • ModSenior

    Si, altrimenti è sufficiente mettere qualche if controllando l'id nella variabile di sessione e dare accesso a pagine diverse ai singoli utenti


  • User

    @Thedarkita said:

    Si, altrimenti è sufficiente mettere qualche if controllando l'id nella variabile di sessione e dare accesso a pagine diverse ai singoli utenti
    giusto, ma se volessi fare tutto da db?
    nel senso io mi registro e nel db c'è anche 1 altro campo, nel quale di default è specificata la pagina privataancoradadefinire.php e così quando mi loggo apro privataancoradadefinire.php??si può fare??
    intendo dire, a me interessa che l'utente Tizio, che si è registrato per primo (ed io ho avuto tutto il tempo di fargli la sua pag.) non veda la pag di Caio.
    Quando Caio si registra avrà la pagina, come un template, cioè con nessun dato personale, standard.
    dopo io aggiungo nella pagina di Caio tutti i suoi dati.
    tutto ciòè fattibile???
    Ciao e grazie mille per la disponibilità!!!!:):)


  • ModSenior

    Si basta usare degli if se vuoi fare il tutto senza usare il database, altriemtni puoi pure creare un campo nella tabella con gli utenti e in quel campo per ogni utente metti il testo, e quindi con una query mostri il testo per ogni utente, niente di complicato.....


  • User

    @Thedarkita said:

    Si basta usare degli if se vuoi fare il tutto senza usare il database, altriemtni puoi pure creare un campo nella tabella con gli utenti e in quel campo per ogni utente metti il testo, e quindi con una query mostri il testo per ogni utente, niente di complicato.....
    Ciao a tutti,
    se volessi invece che l'utente si registra e poi nell'area privata scriva delle note che può rivedere posso usare il db, giusto?
    per esempio da una textarea definisco una variabile e con INSERT la infilo nel db,
    e poi la ripiglio col php e con echo $nota ce l'ho di nuovo???


  • User

    inoltre ora ho un problema: io devo assolutamente fare in modo che l'utente loggandosi come Tizio vada alla pag. tizio.php e che anche provando a vedere la pagina caio.php non riesca.
    allora, seguendo il consiglio di** TheDarkITA ho messo degli if ma riscontro un problema :
    i vorrei che tutte la pagine contenenti dati personali stiano nella cartella _private, ma così facendo le posso utilizzare solo con include e require.
    il problema è: facendo include o require la pagina si vede, il problema è che è sovrapposta alla schermata di login,
    ho provato anche con header altrapagvuota.php; include pag.privata
    ma non funziona.... :cry
    come faccio??? sapete se c'è una soluzione???
    ciao e ancora grazie a tutti


  • ModSenior

    Meglio se posti qualche codice che non si capisce nulla...

    comunque se fai le pagine cosi:
    [php]
    <?php
    // Includo la connessione al database
    require('config.php');

    // Se non è stata definita la variabile manda l'utente alla homepage
    if($_SESSION['login'] != 1)
    {
    header('Location: /');
    exit;
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Area privata</title>
    </head>

    <body>
    Pagina privata!<br />
    <br />
    <br />
    <a href="/logout.php">Logout</a><br />
    </body>
    </html>
    [/php]

    dove 1 è l'id del'utente che ha accesso a quel file


  • User

    ok questo sarebbe una soluzione, ma utilizzando l'header, non posso andare alle pagine della cartella /_private/ in quanto dà forbidden error.
    quindi devo per forza utilizzare include e require, per queste pagine.:)
    ma forse ho trovato la souzione :vai:, ora controolo poi vi faccio sapere.:vai::vai:
    ciao e grazie


  • User

    [PHP]if($_SESSION['login'] == 1)
    {
    include('_private/tizio.php');
    exit;
    }
    else if($_SESSION['login'] == 2)
    {
    include('_private/utente.php');
    exit;
    }
    else if($_SESSION['login'] == 3)
    {
    include('_private/utente2.php');
    exit;
    }
    else {
    include('index.php');[/PHP]
    che ne dite? ci siamo??


  • ModSenior

    elseif tutto attaccato

    [php]
    if($_SESSION['login'] == 1)
    {
    include('_private/tizio.php');
    exit;
    }
    elseif($_SESSION['login'] == 2)
    {
    include('_private/utente.php');
    exit;
    }
    elseif($_SESSION['login'] == 3)
    {
    include('_private/utente2.php');
    exit;
    }
    else {
    include('index.php');
    [/php]


  • User

    inoltre sto realizzando le note per l'utente, ma quale è la query esatta da passare al db? i intendo passare la variabile $open nella tabella utenti nella colonna note sulla riga dell'id 1... come faccio???ciao e grazie


  • ModSenior

    nella query update/insert dipende da quando la passi la variabile


  • User

    io sto provando con
    [PHP]$strSQL = "INSERT INTO utenti (note) , WHERE id 1";
    $strSQL .= "VALUES('$open')";
    mysql_query($strSQL) OR die("Errore 003, contattare l'amministratore ".mysql_error());
    però mi dà errore di sintassi[/PHP]
    come faccio??
    grazie per l'indicazione dell'elseif!