[Variablen] Übergabe per URL funzt nicht, Schleife wird nicht angesprungen.

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

  • [Variablen] Übergabe per URL funzt nicht, Schleife wird nicht angesprungen.

    Hallo Leute,

    ich habe folgendes Problem: Meine php-Datei überspringt einfach gewisse if-Schleifen, obwohl diese greifen müssten.
    Ganz komisch ist, dass die PHP-Dateien auf einem anderen Server problemlos gelaufen sind. Auf dem neuen Server laufen die Dateien nicht...

    Bei dem Beispiel (habe nur den PHP-Code rauskopiert) unten greift immer nur die "welcome"-Schleife,

    Ich hoffe dass mir jemand weiterhelfen kann....

    [COLOR=orange]Datei: index.php[/COLOR]
    PHP-Code:
    <?php 

    // checken ob Sprache ($lang) gesetzt ist, sonst auf "en" setzen
    if(!isset ($lang)) {
        
    $lang "en";
    }

    // Wenn $lang auf "de" gesetzt ist wird die deutsche Seite geladen
    if($lang==de) {
        include (
    'main_page_de.php');
    }

    // Wenn $lang nicht auf "de" gesetzt ist wird die englische Seite geladen
    else {
        include (
    'main_page_en.php');
    }
        
    ?>

    [COLOR=orange]Datei: main_page_de.php[/COLOR]
    PHP-Code:
    <?php

    echo"
    <div id='navigation'>
    <a href='index.php?page=welcome'>Willkommen auf der Webseite</a>
    <a href='index.php?page=what'>Worum geht es hier</a>
    <a href='index.php?page=who'>Wer wir sind</a>
    </div>"
    ;


    if (!isset(
    $page)) {
        
    $page welcome;
    }    

    if (
    $page == welcome) {

    echo
    "
    </div>
    <div id='content'>
    <span class='content_head'>Willkommen auf der Webseite...</span>
    <p>Text blabla</p>
    </div>"
    ;

    }

    elseif (
    $page == what) {

    echo
    "
    </div>
    <div id='content'>
    <span class='content_head'>Worum geht es hier... </span>
    <p>Text blabla</p>
    </div>"
    ;
    }

    elseif (
    $page == who) {

    echo
    "
    </div>
    <div id='content'>
    <span class='content_head'>Wer wir sind... </span>
    <p>Text blabla</p>
    </div>"
    ;
    }
    ?>

  • #2
    viel Spaß bei der Suche nach register_globals

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      $page = welcome;

      schreib mal
      $page = 'welcome';

      und in der if()
      auch
      == 'welcome'

      /edit:

      bzw. bei allen..

      who usw.

      Kommentar


      • #4
        Besten Dank, ghostgambler!

        Das wars! Woher soll man den wissen, das mein Hoster das abgestellt hat. Frechheit.

        Naja, für alle, die das selbe Problem haben, hier nochmal die Lösung des Problems:

        PHP-Code:
        if (!ini_get('register_globals')) {
            
        $vo ini_get('variables_order');
            
        $vn = array('E' => '_ENV''G' => '_GET''P' => '_POST'
                        
        'C' => '_COOKIE''S' => '_SESSION');
            for (
        $i 0$i strlen($vo); $i++)
                if ( 
        is_array(${'HTTP_'.$vn[$vo{$i}].'_VARS'}) ) 
                    
        extract(${'HTTP_'.$vn[$vo{$i}].'_VARS'});
                elseif ( 
        is_array(${$vn[$vo{$i}]}) ) 
                    
        extract(${$vn[$vo{$i}]});

        ... einfach in jeden PHP-Code einfügen, dann läufts!

        Kommentar


        • #5
          Original geschrieben von mercurio
          Das wars! Woher soll man den wissen, das mein Hoster das abgestellt hat. Frechheit.


          das ist mit eine der schlechtesten Einstellungen, die man aktivieren kann...

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar


          • #6


            und.... lieferst du mir dann jetzt auch noch ne Erklärung, warum das eine der schlechtesten Einstellungen ist, die man aktivieren kann?

            Kommentar


            • #7
              @mercurio
              das schnipselchen solltest du ganz schnell wieder aus deinem code entfernen und statt dessen deinen code entsprechend anpassen, sodass er auch mit $_GET, $_POST usw lauffähig ist!
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                Original geschrieben von mercurio
                und.... lieferst du mir dann jetzt auch noch ne Erklärung, warum das eine der schlechtesten Einstellungen ist, die man aktivieren kann?
                weil es eine potenzielle gefahr ist. somit kann man u.a. schnell in (d)ein system eindringen.

                mehr dazu bei unser aller freund www.google.de .
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  Original geschrieben von Abraxax
                  mehr dazu bei unser aller freund www.google.de .
                  oder auch direkt hier im Forum...es ist ja nicht so, dass du der erste bist der damit ankommt
                  und da du ja danach suchen solltest, dachte ich eigentlich du würdest auch darüber stolpern...naja, wie man sich irren kann >.<

                  Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                  bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                  Wie man Fragen richtig stellt

                  Kommentar


                  • #10
                    @Abraxax:
                    hast du viell. nen Vorschlag, wie ich das mache?

                    Kommentar


                    • #11
                      da ist so ein feld, wo man was eingeben kann ... dann schaut unser schlauer freund nach, was er dir dafür geben kann. i.d.r. sind da immer gute sachen dabei ....

                      n8
                      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                      Kommentar


                      • #12
                        Original geschrieben von Abraxax
                        @mercurio
                        das schnipselchen solltest du ganz schnell wieder aus deinem code entfernen und statt dessen deinen code entsprechend anpassen, sodass er auch mit $_GET, $_POST usw lauffähig ist!

                        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                        Wie man Fragen richtig stellt

                        Kommentar

                        Lädt...
                        X