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.
    • A
      autodafe Super User • ultima modifica di

      Provato...
      Mi scrive solo "Array ( )" nella pagina...

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • 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