Visualizzazione dei risultati da 1 a 7 su 7

Discussione: sessioni e userame

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    579

    sessioni e userame

    io ho questo form:


    <?
    blablablablabla
    blablablablabla

    echo "<form action=\"$REQUEST_URI\" method=\"post\">\n";
    echo "Titolo:
    \n";
    echo "<input type=\"text\" name=\"titolo\">

    \n\n";
    echo "Nick :
    \n";
    echo "<input type=\"text\" name=\"autore\">

    \n\n";
    echo "Messaggio:
    \n";
    echo "<textarea name=\"testo\" cols=\"50\" rows=\"5\">";
    echo "</textarea>

    \n\n";
    echo "<input type=\"hidden\" name=\"cmd\" value=\"add\">\n";
    echo "<input type=\"submit\" value=\"Crea\">\n";
    echo "</form>\n";

    ?>

    per il nick name vorrei inserire questo nick automaticamente:

    e posto di questo:

    "<input type=\"text\" name=\"titolo\">



    gli vorrei mettere questo:

    "<input type=\"text\" name=\"prova\" readonly=\"true\" value=\"$aUser[username]\"

    qualkuno di voi può suggerirmi se è giusto così???


    ma nella sessione cosa devo mettere???

    sto rincoglioendo.

    grazie

    ciao a tutti
    l'uomo è tutto ciò che non può essere

    http://www.ebug.it Discussioni da web Designer

    http://www.ebug.it/?p=354 e Dart Fener dove lo mettiamo lol

  2. #2
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754
    Io scriverei così

    echo "<input type=\"text\" name=\"prova\" readonly=\"true\" value=\"".$aUser[username]."\" />";

    molto meglio sarebbe usare un template esterno e scordarsi degli escape

    La sessione dovrebbe già contenere i dati di tuo interesse...

    Il modo è questo

    Quando entri in un area riservata controlli la variabile di sessione, se la variabile è settata ok altrimenti controlli il cookie. Se il cookie è settato ok e metti in sessione altrimenti non resta che chiedere il login. A parole. In codice una cosa simile

    codice:
    session_start();
    
    if(isset($_SESSION["dati"]){
      // loggato -> vai pagina protetta
    }
    else{
      if(isset($_COOKIE["cookie_dati"])){
         $_SESSION["dati"] = $_COOKIE["cookie_dati"];
         // loggato -> vai a pagina protetta
      }
      else{
        // deve loggarsi -> vai a pagina di login
      }
    }
    Viceversa dopo il login salvi sia nel cookie che nella sessione

    codice:
    session_start();
    
    $_SESSION["dati"] = $dati;
    setcookie("cookie_dati", $dati, time()+ $timesec_expire) ;
    Cosa siano i dati da salvare dipende da varie considerazioni tue (se non ci sono particolari esigenze di sicurezza potrebbe essere nome utente e password).
    Sembra che convenga chiamare la variabile di sessione e il cookie con nomi diversi...non ne sono sicuro...ma credo che se ciò fosse vero, dipenda dal fatto che la sessione stessa potrebbe essere un cookie e quindi collidere con il cookie in senso stretto.

  3. #3
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754
    Ti linko anche questo 3d

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    178
    Originariamente inviato da JHammer Quando entri in un area riservata controlli la variabile di sessione, se la variabile è settata ok altrimenti controlli il cookie. Se il cookie è settato ok e metti in sessione altrimenti non resta che chiedere il login. A parole. In codice una cosa simile
    E una volta che la sessione parte non dovrebbe durare fino a che l'utente rimane attivo nelle pagine protette?
    La mia sessione scade INEVITABILMENTE dopo 60 secondi dall'autentificazione dell'utente. (Expire di default del cookie).

    Hai segnalato il mio thread Hammer, magari mi dai pure un aiutino piccolo piccolo per chiuderlo?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    579
    scusate ma la sessione per essere supportata nn ha bisogno di una tabella nel mio db???

    cosa metto come tabella???
    l'uomo è tutto ciò che non può essere

    http://www.ebug.it Discussioni da web Designer

    http://www.ebug.it/?p=354 e Dart Fener dove lo mettiamo lol

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    178
    Ti segnalo questo articolo, tratta esattamente quello di cui hai bisogno:
    http://freephp.html.it/articoli/view...olo.asp?id=132

    La tabella di cui parli ha un codice del genere:

    Codice PHP:
    CREATE TABLE sessioni (
        
    uid CHAR(32NOT NULL,
        
    user_id INT UNSIGNED NOT NULL,
        
    creation_date INT UNSIGNED NOT NULL,
        
    INDEX(uid)
    ); 
    Durante la sessione vengono create delle variabili che rimangono nella tabella fino al raggiungimento del tempo di expire.
    Allo scadere della sessione, le variabili verranno cancellate impedendo la navigazione dell'utente che torna ad essere un semplice "visitatore".

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    579
    e poi devo solo inserire in ogni pagina questo:


    <?

    include ('config.php');

    session_start();

    if(isset($_SESSION["dati"]){
    // loggato -> vai pagina protetta
    }
    else{
    if(isset($_COOKIE["cookie_dati"])){
    $_SESSION["dati"] = $_COOKIE["cookie_dati"];
    // loggato -> vai a pagina protetta
    }
    else{
    // deve loggarsi -> vai a pagina di login
    }
    }
    session_start();

    $_SESSION["dati"] = $dati;
    setcookie("cookie_dati", $dati, time()+ $timesec_expire) ;
    ?>

    cosi, e i dati quali devono essere se io voglio vengano sempre riconsciuti al login l'username della tabella utenti_starfinger ?????

    grazie

    x l'aiuto

    ciao
    l'uomo è tutto ciò che non può essere

    http://www.ebug.it Discussioni da web Designer

    http://www.ebug.it/?p=354 e Dart Fener dove lo mettiamo lol

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.