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

      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