Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [php]-chiarimento $_SESSION

    Ciao a tutti
    sto utilizzando php con register_globals=off
    da phpinfo(); le sessioni sono correttamente abilitate;

    devo salvare un po' di variabili in una sessione:

    qual'è il modo esatto di utilizzare $_SESSION ?

    ho dato una letta alle pillole ma alcune fanno riferimento alle vecchie versioni di php (con register_globals=on)

    quello che devo fare è questo:

    file_uno.php:
    1) setto una variabilie;
    2) la salvo in una sessione;
    3) con un link vado alla pagina file_due.php;

    file_due.php
    1) leggo la variabile settata nel file_uno.php
    2) la modifico
    3) la risalvo nella sessione

    grazie per gli aiuti !
    aquatimer2000

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    file1.php

    Codice PHP:
    session_start();

    $_SESSION['paese'] = 'Italia'
    file2.php

    Codice PHP:
    session_start(); // Da mettere ogni volta che vuoi accedere a $_SESSION

    echo "Ti trovi in ".$_SESSION['paese'];

    // Modifica la variabile
    $_SESSION['paese'] = 'USA';

    ....

    // E se ti servisse

    // Cancella la variabile
    unset($_SESSION['paese']);
    // Elimina la sessione
    session_destroy(); 

  3. #3
    file_uno.php:
    apri la sessione con session_start();
    1) setto una variabilie;
    2) la salvo in una sessione; --> $_SESSION['pippo'] = $pippo;
    3) con un link vado alla pagina file_due.php;

    file_due.php
    apri la sessione con session_start();
    1) leggo la variabile settata nel file_uno.php
    2) la modifico
    3) la risalvo nella sessione; --> $_SESSION['pippo'] = $pippo1;

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    ok, grazie ad entrambi, fin qui tutto ok:

    posso inserire un array multidimensionale in $_SESSION ?

    ES:

    file 1:

    Codice PHP:
    $elenco=array();
    $elenco[0][nome]="mario";
    $elenco[0][cognome]="rossi";
    $elenco[1][nome]="giuseppe";
    $elenco[1][cognome]="bianchi";

    $_SESSION['elenco']="$elenco"
    nel file 2 come recupero l'array $elenco ?
    aquatimer2000

  5. #5
    Non puoi usare l'indice numerico come primo indice di $_SESSION

    Considera $_SESSION come un contenitore di variabili e array e quindi il nome del primo indice deve rispettare le regole previste per i nomi delle variabili e label in genere del php

    Variables in PHP are represented by a dollar sign followed by the name of the variable. The variable name is case-sensitive.

    Variable names follow the same rules as other labels in PHP. A valid variable name starts with a letter or underscore, followed by any number of letters, numbers, or underscores. As a regular expression, it would be expressed thus: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'

    Nota: For our purposes here, a letter is a-z, A-Z, and the ASCII characters from 127 through 255 (0x7f-0xff).

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    quindi nel mio caso non potrei scrivere:

    $elenco[0][nome]="...";

    giusto ?

    come posso risolvere ?
    aquatimer2000

  7. #7
    Originariamente inviato da aquatimer2000
    quindi nel mio caso non potrei scrivere:

    $elenco[0][nome]="...";

    giusto ?

    come posso risolvere ?
    No aspetta....

    cosi' lo puoi scrivere:

    $_SESSION['elenco'][0]['nome'] = 'Pippo';
    $_SESSION['elenco'][1]['nome'] = 'Pallo';

    Non ho detto che NON puoi usarlo come proposto da te, ma come NON puoi usare etc.

    Un po' equivoco, lo ammetto.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    quindi:

    Codice PHP:
    $elenco=array();
    $elenco[0][nome]="mario";
    $elenco[0][cognome]="rossi";
    $elenco[1][nome]="giuseppe";
    $elenco[1][cognome]="bianchi";

    $_SESSION['elenco']="$elenco"
    così lo posso scrivere?

    se si, come richiamo poi l'array $elenco nella pagina 2 ?
    aquatimer2000

  9. #9
    altre 2 informazioni:


    1)
    nella pagina 2 mi resta scomodo scrivere

    echo $_SESSION['nome_della_variabile_che_può_essere_lungo'];

    posso scrivere

    $var = $_SESSION['nome_della_variabile_che_può_essere_lungo'];
    echo $var;


    2)
    come faccio a sapere quali sono tutti le variabili salvate in $_SESSION ?
    finchè sono poche me le ricordo, ma se diventano tante potrebbe essere un problema


    Grazie ancora per la pazienza!
    aquatimer2000

  10. #10
    Originariamente inviato da aquatimer2000
    quindi:

    Codice PHP:
    $elenco=array();
    $elenco[0][nome]="mario";
    $elenco[0][cognome]="rossi";
    $elenco[1][nome]="giuseppe";
    $elenco[1][cognome]="bianchi";

    $_SESSION['elenco']="$elenco"
    così lo posso scrivere?

    se si, come richiamo poi l'array $elenco nella pagina 2 ?
    diciamo che cosi' hai degli errori formali.Occhio agli apici usati .... Dovrebbe essere:

    Codice PHP:
    $elenco=array();
    $elenco[0]['nome']="mario";
    $elenco[0]['cognome']="rossi";
    $elenco[1]['nome']="giuseppe";
    $elenco[1]['cognome']="bianchi";

    $_SESSION['elenco'] = $elenco
    1) e' un array nel tuo caso citato ... quindi niente echo ma print_r($var);

    2) print_r($_SESSION);

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.