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

      Controlla i log del server, forse hai un parse error nel codice.

      In alternativa sostituisci lo script con questo codice:

      [php]<?php
      session_start();
      print_r($_SESSION);
      ?>[/php]

      0 Miglior Risposta Ringrazia Cita Rispondi

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