Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Problemi con variabile di sessione e XML
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • F
      filippotoso User Attivo • ultima modifica di

      Questo significa che lo script funziona, la sessione è avviata ma non contiene nulla (un array vuoto).

      Ecco il motivo per cui *echo $_SESSION['feedcode'];*non restituisce niente (anche se abilitando la visualizzazione dei notice avrebbe mostrato un undefined index).

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • A
        autodafe Super User • ultima modifica di

        mmm...
        Non sembrerebbe un problema legato a XML...

        Ora, nella pagina1 (quella di Joomla) anzichè costruire XML ho messo:
        **
        $_SESSION['feedcode']="pippo"**

        Nella pagina1, se faccio echo** $_SESSION['feedcode'];** mi scrive correttamente "pippo"

        La stessa istruzione nella pagina2 (la mia) non scrive nulla...
        Manca forse qualcosa a livello di Header?

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • A
          autodafe Super User • ultima modifica di

          Come faccio quindi a recuperare il valore di questa sessione? Dove se lo perde???:?

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • F
            filippotoso User Attivo • ultima modifica di

            Secondo me hai un problema di propagazione della sessione.

            Prova ad inserire questo codice in entrambe le pagine e confrontane i risultati:

            [php]<?php echo(session_name() . ' => ' . session_id()); ?>[/php]

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • A
              autodafe Super User • ultima modifica di

              Credo anche io, anche se non so perfettamente cosa ciò significhi in php...

              Risultato:

              pagina1:
              2b9632643123cb4354dfc096d4ffd0f7 => 9991f63a2e18839cd16157244d7eb3df

              pagina2:
              PHPSESSID => eb0f910ae3098944e452a1bf2ac88f7c

              Non legge la stessa roba direi :mmm:
              :arrabbiato:

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • F
                filippotoso User Attivo • ultima modifica di

                Prova a modificare la pagina2 in questo modo:

                [php]<?php
                session_name('2b9632643123cb4354dfc096d4ffd0f7');
                session_start();
                echo($_SESSION['feedcode']);
                ?>[/php]

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • A
                  autodafe Super User • ultima modifica di

                  Niente...
                  Pagina bianca....

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • I
                    ilnetsurfer User Attivo • ultima modifica di

                    Innanzitutto..
                    prova con
                    var_dump($_SESSION);
                    e vedi cosa ti esce...
                    poi potresti provare così:

                    Crea il file sessione.php con questo codice dentro:
                    <?php
                    ini_set('session.use_cookies', 1);
                    ini_set('session.use_only_cookies',1);
                    session_start();
                    ?>

                    poi modifica il codice così:

                    require "sessione.php";

                    $_SESSION['feedcode']="<?xml version='1.0' encoding='ISO-8859-1'?>
                    <rss version='2.0' xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:content='http://purl.org/rss/1.0/modules/content/'>
                    <channel>";

                    $_SESSION['feedcode']=$_SESSION['feedcode']."<title>".$title."</title><link>http://www.miosito.ext/news/</link><description>Notizie al Web a cura di MioSito.ext</description><language>it</language>";

                    ....QUI SCRIVO ALTRA ROBA IN $_SESSION['feedcode']...RIMOSSO PER ABBREVIARE

                    $_SESSION['feedcode']=$_SESSION['feedcode']."</channel></rss>";
                    ?>

                    <a href="./modules/mod_eventlist_rss/events_rss.php">Live Feeds</a>

                    E poi...

                    <?php

                    require "sessione.php",

                    echo (isset($_SESSION['feedcode'])) ? $_SESSION['feedcode'] : "Impossibile trovare la sessione";

                    ?>

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • A
                      autodafe Super User • ultima modifica di

                      Dopo il tuo suggerimento:

                      
                      **Warning**:  session_start() [[function.session-start](http://www3.pipeline.it/modules/mod_eventlist_rss/function.session-start)]: Cannot send session cookie - headers already sent by (output started at /home/web/public_html/modules/mod_eventlist_rss/events_rss.php:5) in **/home/web/public_html/modules/mod_eventlist_rss/session.php** on line **4**
                      
                      **Warning**:  session_start() [[function.session-start](http://www3.pipeline.it/modules/mod_eventlist_rss/function.session-start)]: Cannot send session cache limiter - headers already sent (output started at /home/web/public_html/modules/mod_eventlist_rss/events_rss.php:5) in **/home/web/public_html/modules/mod_eventlist_rss/session.php** on line **4**
                      Impossibile trovare la sessione  
                      
                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • A
                        autodafe Super User • ultima modifica di

                        togliendo dall'ultima pagina "require(sessione.php)"

                        ho solo:

                        "Impossibile trovare la sessione"

                        :arrabbiato:

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • I
                          ilnetsurfer User Attivo • ultima modifica di

                          Uhm...ripeto la domanda di prima...cosa ottieni con
                          var_dump($_SESSION);
                          ?
                          Poi, per il warning..ti suggerisco di modificare il file sessione cosi:
                          <?php
                          session_start();
                          $feedcode ="";
                          session_register("feed_code");
                          ?>

                          E modifica il file cosi:

                          <?php

                          require "sessione.php",

                          echo (session_is_registered('feedcode')) ? $_SESSION['feedcode'] : "Impossibile trovare la sessione";

                          ?>

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • A
                            autodafe Super User • ultima modifica di

                            Dunque...
                            Mi ero dimenticato questo test...
                            Ho messo definitivamente come test "pippo" nella sessione per evitare problemi dovuti a XML
                            Il "var_dump($_SESSION);" nella pagina1 dà un amarea di roba tra cui ["feedcode"]=> string(5) "pippo" } (quindi la sessione fin lì c'è)

                            Nella pagina 2 invece dà "NULL"....(quindi si è perso la sessione?)

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • A
                              autodafe Super User • ultima modifica di

                              Ohi Ohi...
                              Dunque:
                              il tuo ultimo esempio ha avuto come risultato:

                              "Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line **0"

                              register_globals **è su OFF in effetti...C'entra questa opzione?

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • I
                                ilnetsurfer User Attivo • ultima modifica di

                                No, non disattivare register_globals, porterebbe ad un alto calo di sicurezza..
                                direi che si è proprio persa la sessione...

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • A
                                  autodafe Super User • ultima modifica di

                                  OK,
                                  Comunque ieri stavo pensando di risolvere così (dovrebbe funzionare e mi pare anche più pulito...)

                                  Nella pagina1 chiamo una funzione su pagina2 a cui passo come parametro il contenuto XML. La pagina2 deve a quel punto solo prendere ciò che le arriva e fare echo...

                                  O no???;)

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • F
                                    filippotoso User Attivo • ultima modifica di

                                    A quel punto ti basta ob_start()/include()/ob_get_clean()

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    Caricamento altri post
                                    Rispondi
                                    • Topic risposta
                                    Effettua l'accesso per rispondere
                                    • Da Vecchi a Nuovi
                                    • Da Nuovi a Vecchi
                                    • Più Voti