Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 35
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    493

    Passare variabili tramite sessione da una pagina ad un'altra

    Ciao a tutti.
    Avrei bisogno di prendere l'id dell'utente loggato, metterlo in una sessione e poi rendere questa sessione disponibile in tutte le pagine php del sito. È possibile?
    Sono riuscito a prendere l'id dell'utente loggato (sito joomla) e metterlo un una sessione $_session['id']
    Poi se provo a stampare a video la sessione dalla stessa pagina mi visualizza correttamente l'id.
    Ma se provo a stampare da una pagina php esterna a joomla, la sessione è vuota perche non mi stampa nulla.

    È possibile rendere globalmente disponibile il valore?
    Grazie

  2. #2
    non credo proprio si possa..
    puoi salvare il valore su file o su db.. e renderelo quindi accessibile

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    493
    grazie per la celere risposta!
    non è possibile perché esco dall'applicazione che l'ha creata?
    ma allora le session in php per cosa si usano?
    scusa la mia ignoranza ma in asp le sessioni sono globali finché rimani sul server e non capisco qui a cosa servono. funziona come una semplice variabile?

  4. #4
    Sarebbe meglio leggere la documentazione sul sito ufficiale php ;-)

    Cmq sono delle "variabili" (di testo, non si riesce a salvare una strutture dati complessa in modo diretto) che restano attive e presenti da quando fai partire il browser fino a quando lo chiudi. Sono come dei cookie gestiti lato server.

    Ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    493
    e allora perche non posso richiamarle da una pagina php dello stesso sito? se restano attive sul server non posso riprendere il suo contenuto?


    pagina1(joomla)
    session_start();
    $_SESSION['ididid'] = $usr_id;



    pagina2.php
    $value = $_SESSION['id'];

  6. #6
    certo che è possibile, non vedo perchè

    basta che in tutte le altre pagine php all'inizio fai eseguire session_start() e ti ritroverai $_SESSION['id'] disponibile.

    E non è nemmeno vero che nella sessione non puoi salvare delle strutture dati complesse, addirittura non solo puoi salvare array con diverse "profondità" ma puoi assegnare anche una classe ad un elemento in sessione, e la classe sarà di volta in volta serializzata e deserializzata.

  7. #7
    Facciamo riferimento a quanto dice qua.
    http://www.php.net/manual/en/intro.session.php

    In una session non sono riuscito a salvare una connessione odbc. è solo un oggetto..
    eppure non si salva..nemmeno con la serialize oppure la explose.


    La session rimane disponibile dall'id che l'ha creata non puoi accedere ad altre session non tue.

  8. #8
    Originariamente inviato da galavott
    Facciamo riferimento a quanto dice qua.
    http://www.php.net/manual/en/intro.session.php

    In una session non sono riuscito a salvare una connessione odbc. è solo un oggetto..
    eppure non si salva..nemmeno con la serialize oppure la explose.


    La session rimane disponibile dall'id che l'ha creata non puoi accedere ad altre session non tue.
    per "non tue" spero tu ti riferisca al fatto che non sono del tuo utente remoto, perchè altrimenti non ha senso. Se hai delle pagine php sullo stesso server possono condividere il contenuto di $_SESSION a patto che ciascuna pagina esegua session_start() quando gli serve.

    per il resto certamente i puntatori alle connessioni non sono salvate, per questo esistono i magic methods __sleep e __wakeup per le classi

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    493
    ecco allora se è possibile significa che sbaglio qualcosa.
    nella pagina joomla con il codice che ho messo nel messaggio precedente, se stampo a video vedo l'id contenuto nella sessione.

    se poi passo alla pagina2.php e provo a stampare a video la sessione di prima non mi stampa niente.
    cosa sbaglio?

    mi confermate che in ogni pagina che uso la sessione devo mettere session_start(); ?

  10. #10
    Originariamente inviato da tretretre
    mi confermate che in ogni pagina che uso la sessione devo mettere session_start(); ?
    confermo.

    altra cosa da controllare: suppongo che venga generato il cookie di sessione, che path ha? "/" o una sottocartella? Inoltre, viene propagato il session id nello URL?

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.