Visualizzazione risultati 1 fino 7 di 7

Discussione: variabili richiamate che si cambiano

  1. #1
    Guest

    Predefinito variabili richiamate che si cambiano

    ciao

    io ho creato il seguente "metodo" di ricordare un utente:

    nella pagina index, all'inserimento di pass mi salve l'user in un file di testo (in questo modo: <?php $tempuser=nomeinseritodall'utente; ?> ) e viene convertito in .txt

    in questo modo la pagina 2 carica la variabile e simpaticamente dice "ciao $tempuser"

    Funziona...

    difetti: se entra un altro utente il file che contiene la variabile del nome si rinomina.. come faccio a non far questo? ce un modo di fare questo con i cookies??

  2. #2
    L'avatar di jb17
    jb17 non è connesso Utente giovane
    Data registrazione
    07-01-2006
    Messaggi
    48

    Predefinito

    Al posto che salvare nel file di testo potresti usare le sessioni

    esempio:
    Codice PHP:
    <?php
    session_start
    ();
    // al posto di Nome_utente inserisci il valore recuperato dal form di login o dal db dove sono salvati i dati
    $_SESSION['username']="Nome_utente";
    echo(
    " Ciao $_SESSION[username]");
    ?>
    Quello che chiedi si può fare anche con i cookie per capire come funzionano dai uno sguardo qui.

    Ciao
    Il sito di jb17: jb17.altervista.org

  3. #3
    Guest

    Predefinito

    non ho ben capito,
    nella pagina index l'user viene scritto nella variabile $HTTP_POST_VARS['username']

    come facci a richiamarla in un altra pagina, in modo che se entra un altra persona con user diverso non mi cambia la variabile del primo user?

  4. #4
    L'avatar di jb17
    jb17 non è connesso Utente giovane
    Data registrazione
    07-01-2006
    Messaggi
    48

    Predefinito

    Per capire un po meglio come funzionano le sessioni leggi qui.

    Comunque con le sessioni tu non devi fare nulla pensa a tutto il server...tu devi solamente richiamare (in questo caso l'username) con:
    Codice PHP:
    $_SESSION[username];
    Perciò diventa:
    Codice PHP:
    <?php
    session_start
    ();
    $user=$HTTP_POST_VARS['username'];
    $_SESSION['username']="$user";
    echo(
    "Ciao $_SESSION[username]");
    ?>
    In questo modo se un altro utente effettua il login non viene sovrascritto nulla in quanto:
    Il funzionamento delle sessioni è molto semplice, il server apre una sessione con la funzione session_start()e gli assegna un nome univoco.
    Le variabili di sessione sono memorizzate dentro un array globale di nome $_SESSION[], salvato in un file che porta lo stesso nome della sessione.
    Il sito di jb17: jb17.altervista.org

  5. #5
    Guest

    Predefinito

    ho un dubbio, dopo un po di tempo che non ci sto dietro
    se io ho 2 pagine php, per semplicità chiamiamo 1 la prima e 2 la secona

    nella 1 devo mettere cosi

    Codice PHP:
    session_start();
    $_SESSION['user']="$convalida_user";
    $_SESSION['nome']=$tmp1['nome'];
    $_SESSION['cognome']=$tmp2['cognome'];
    echo(
    " Ciao $_SESSION[user] $_SESSION[nome] $_SESSION[cognome]");
    in modo che quando sono in pagina due le variabili le richiamo.... ehm come le richiamo??

    ho risolto bastava ripostare session_start(); a ogni pagina

    ora come faccio a fare in modo che se la sessione non è attiva, mi si fa un redirect verso la index?
    Ultima modifica di sezioneffe : 19-10-2009 alle ore 15.23.01

  6. #6
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Metti all'inizio del file questo:
    Codice PHP:
    session_start();
    if(!isset(
    $_SESSION['user']) || !isset($_SESSION['nome']) || !isset($_SESSION['cognome']))
    header('Location: login.php');

  7. #7
    Guest

    Predefinito

    grazie mille!!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •