Problem mit "register_globals off"

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit "register_globals off"

    Hallo!

    Ich habe ein PHP-Script erstellt, auf Basis des Clansys, welches zwingend eine globale Variable erfordert:
    PHP-Code:
    $for_output 
    Da nun bei meinem Webspaceanbieter verständlicherweise "register_globals" auf off gesetzt ist, klappt das Ganze nicht.

    Meine Frage ist jetzt, wie ich das Ganze so umbauen kann, dass die Seite sauber angezeigt wird.
    Ich hab auch schon bei Google gesucht, aber keine vernünftige Lösung gefunden.

    Danke für Antworten!

  • #2
    Re: Problem mit "register_globals off"

    Original geschrieben von tommy_angelo
    Ich hab auch schon bei Google gesucht, aber keine vernünftige Lösung gefunden.
    och mann ... kann doch wohl wirklich nicht sein!

    wenn ich nach register globals off suche, kommt direkt als zweiter treffer http://php3.de/manual/de/security.globals.php - jetzt sag bloss, das konntest du nicht finden?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      ich hab nicht gesagt, dass ich es nicht gefunden habe, nur dass ich nicht weiß wie es mir nützlich sein könnte bzw. wie ich es verwenden könnte

      aber trotzdem danke

      Kommentar


      • #4
        also je nachdem wie die variable durchschleifst entweder
        PHP-Code:
        $for_output $_POST['for_output']; 
        oder
        PHP-Code:
        $for_output $_GET['for_output']; 
        gruss
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Tut mir leid, wenn ich nochmal störe, aber ich glaube, ich habe mein Problem nicht genau genug geschildert.
          Hier der 2. Versuch:

          In der index.php wird die bekannte Variable $for_output definiert:
          PHP-Code:
          global $for_output;
          $output str_replace('{content}'$for_output$output);    
          eval(
          "?>" $output); 
          Ich habe dann eine 2. datei zB news.php. In der wird das Newsscript dann in die Variable $for_output gepackt:
          PHP-Code:
          $for_output "$heise"
          was dann wiederum in der index.php ausgegeben wird. Wie muss ich jetzt die Beispiele von Peter einbauen, damit es funktioniert?

          Danke für Antworten!

          Kommentar


          • #6
            was dann wiederum in der index.php ausgegeben wird
            wird die news.php per include in die index.php eingebunden?

            gruss
            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              nicht ganz

              die ergebnisse von abfragen, berechnungen, usw. aus der news.php werden dort in die $for_output geschrieben
              und dann in der index.php per str_replace in eine 2. Variable geschrieben und diese ($output) wird dann ausgegeben...

              Kommentar


              • #8
                die ergebnisse von abfragen, berechnungen, usw. aus der news.php werden dort in die $for_output geschrieben
                also haben wir eine datei news.php, in der einer variable namens $for_output irgend ein wert zugewiesen wird. richtig?

                und dann in der index.php per str_replace in eine 2. Variable geschrieben und diese ($output) wird dann ausgegeben...
                und wie weiss dann die index.php, welchen wert denn die variable $for_output hat? wie wird die an die index.php übergeben??? per link?

                peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #9
                  in der index.php wird $for_output als globale variable definiert.
                  Mit meinem Wissensstand nehme ich an, dass das der Grund ist, warum es bei "register_globals on" klappt,
                  aber bei "register_globals off" nicht.

                  Kommentar


                  • #10
                    da du offenbar nicht weist, wie die variablen übergeben werden, mein letzer versuch:
                    PHP-Code:
                    global $for_output;
                    (
                    $_GET['for_output']) ? $for_output $_GET['for_output'] : $for_output $_POST['for_output'];
                    $output = ... 
                    peter
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar


                    • #11
                      ich hab mir das skript ein weiteres mal durchgelesen und dabei kam folgendes raus: über eine url wie: index.php?page=news wird die news.php per include in die inner.php eingefügt. Die inner.php wird dann in die index.php per include eingefügt

                      tut mir leid dass ich net aufgepasst hab..

                      Kommentar


                      • #12
                        dann must du im code mal nach $page sehen und ein $_GET['page'] daraus machen.

                        peter
                        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                        Meine Seite

                        Kommentar


                        • #13
                          vielen vielen dank!!!

                          Kommentar

                          Lädt...
                          X