Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Errore Sessione multidimensionale

    Salve, Avendo la necessità di salvare più sessioni in una sola variabile ho deciso di usare una variabile di sessione come array multidimensionale, il problema però è che non mi stampa il contenuto dell'array pur essendo questo pieno.


    ecco il codice

    Codice PHP:
    $_SESSION['game'] = array("gioco" => array(), "nick" => array());
    //in questo modo la sessione mi salverà i giochi a cui accedo e per ogni gioco il nick con cui sno entrato

    $_SESSION['game']['gioco']['0'] = 'harrypotter';
    $_SESSION['game']['nick']['0'] = 'harry';
    //inserisco i valori del gioco e del nick con cui sono loggato 
    il problema è che se stampo poi questi due campi sembrano essere vuoti.

    Sbaglio la sintassi?
    thx
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  2. #2

  3. #3
    lo provo semplicemente stampando subito dopo così
    Codice PHP:
    echo $_SESSION['game']['gioco']['0'e $_SESSION['game']['nick']['0']; 
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  4. #4
    A me funziona perfettamente:

    Codice PHP:
    <?php 

    session_start
    ();

    $_SESSION['game']['gioco']['0'] = 'harrypotter';
    $_SESSION['game']['nick']['0'] = 'harry'

    print(
    $_SESSION['game']['gioco']['0'] . ' ' $_SESSION['game']['nick']['0']);

    ?>

  5. #5
    Originariamente inviato da filippo.toso
    A me funziona perfettamente:

    Codice PHP:
    <?php 

    session_start
    ();

    $_SESSION['game']['gioco']['0'] = 'harrypotter';
    $_SESSION['game']['nick']['0'] = 'harry'

    print(
    $_SESSION['game']['gioco']['0'] . ' ' $_SESSION['game']['nick']['0']);

    ?>


    scusami il fatto è che sono un pirla, avevo cambiato la path di destinazione delle sessioni.


    Ok ora va, ma ho un altro piccolo problemuccio...la gestione di questo array.
    Ti pongo due casi esempio:

    1)Poniamo che io faccio un controllo in_array se esiste il gioco harrypotter nell'array. Come faccio poi a stampare il suo relativo nick?

    2)Se devo inserire due nuovi valori per gioco e nick, collegati tra loro, quindi diciamo entrmabi in coda allarray...faccio direttamente..

    $_SESSION['game']['gioco'][] = 'harrypotter';
    $_SESSION['game']['nick'][] = 'harry';

    ?
    posso essere sicuro che usando sempre questo procedimento avrò i rispettivi valori sempre allo stesso
    posto nell'array? (0 e 0, o 2 e 2 etc etc)

    grazie per l'aiuto
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  6. #6
    Non sarebbe meglio una struttura tipo:

    Codice PHP:
    $_SESSION['game'][0]['gioco'] = 'harrypotter';
    $_SESSION['game'][0]['nick'] = 'harry'
    oppure

    Codice PHP:
    $_SESSION['game']['harrypotter']['nick'] = 'harry'

  7. #7
    Originariamente inviato da filippo.toso
    Non sarebbe meglio una struttura tipo:

    Codice PHP:
    $_SESSION['game'][0]['gioco'] = 'harrypotter';
    $_SESSION['game'][0]['nick'] = 'harry'
    oppure

    Codice PHP:
    $_SESSION['game']['harrypotter']['nick'] = 'harry'
    nel primo non capisco la differenza col mio...invertendo la posizione cosa cambia?


    per il secondo esempio, non saprei a quel punto come gestire ['harrypotter'] perkè la variabile è dinamica.

    In pratica ho una pagina di gioco, che tramite il $_GET richiama l'identità del gioco. Ora l'utente può entrare anche in 100 giochi diversi, ma deve avere conuna variabile sessioni diverse per ogni gioco, e questo sessioni devono mantenere l'identità del gioco a cui sta giocando ed il nick con cui sta giocando nel seguente gioco
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  8. #8
    Originariamente inviato da Manuelandro
    nel primo non capisco la differenza col mio...invertendo la posizione cosa cambia?
    E' piu semplice da gestire. Quando effettui il ciclo per trovare uno specifico gioco puo immediatamente accedere anche al nick (od altre proprietà inserite nell'array).

    Originariamente inviato da Manuelandro
    per il secondo esempio, non saprei a quel punto come gestire ['harrypotter'] perkè la variabile è dinamica.
    Non ci vedo molti problemi, puoi tranquillamente utilizzare una variabile stringa come indice dell'array.

    Originariamente inviato da Manuelandro
    In pratica ho una pagina di gioco, che tramite il $_GET richiama l'identità del gioco. Ora l'utente può entrare anche in 100 giochi diversi, ma deve avere conuna variabile sessioni diverse per ogni gioco, e questo sessioni devono mantenere l'identità del gioco a cui sta giocando ed il nick con cui sta giocando nel seguente gioco
    Entrambi i metodi indicati sono utilizzabili per le tue esigenze.

  9. #9
    ok allora ponendo che voglia usare il secondo metodo da te usato, come devo creare inizialmente l'array e come imposto un nuovo valore gioco ed il suo rispettivo nick nella sessione?

    scusa ma nn mi è molto chiaro, però mi sembra a pelle molto più rapido ed intuitivo
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  10. #10
    ok ci sono, correggimi se sbaglio:

    ad ogni login di gioco creo

    Codice PHP:
    $_SESSION[".$id_gioco."] = array("$id_gioco""$nick"); 
    poi nelle pagine del gioco per verificare che sonbo correttamente loggato come utente inserisco dopo il
    sessio_start();

    Codice PHP:
    if($_SESSION[".$id_gioco."][0] != '' && $_SESSION[".$id_gioco."][1] != '') { 
    //ok 


    se i serve il nick...
    Codice PHP:
    print_r ("$_SESSION['".$id_gioco."'][1]"); 
    così è molto più semplice no?

    grazie mille filippo
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

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 © 2024 vBulletin Solutions, Inc. All rights reserved.