[Variablen] GET-Variablen "gehen" nicht mehr und andere Probs

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

  • [Variablen] GET-Variablen "gehen" nicht mehr und andere Probs

    Hallo!

    Hab seit kurzen ein seltsames Problem mit PHP!
    Habe wochenlang nun rumprogrammiert (von Grund auf erlernt), ging eigentlich alles ganz gut. Dann habe ich mit Sessions angefangen und wollte phpMyAdmin ausprobieren. Letzteres ging auch zunächst, ich glaube mit den Sessions haben die Probleme damit angefangen. Ich musste Änderngen in der php.ini machen, und auf einmal hatte ich garkeinen Zugriff mehr auf meine Datenbank. Habe dann php, mysql mehrmals neu drauf gemacht (Datenbanken alle behalten), denn selbst phpMyAdmin hat auf einmal "Access Denied" gemeldet. Irgendwann dann gings wieder!
    Ich weiß nichtmehr genau was alles dazwischen war, was ich so angestellt hab (wie gesagt bin noch grün hinter den Ohren). Jedenfalls siehts derzeit so aus:
    phpMyAdmin geht, und auch per mysql.exe kann ich auf die Datenbank und die Tabellen komplett zugreifen. Im Browser funktioniert irgendwie nix mehr so richtig. Kanns mir nicht erklären, aber Seiten, die kein "&action=irgendwas" enthalten, gehen. Bzw Inhalte, die nicht die Action-Variable vorraussetzen; oder sonst eine "if ($action == "irgendwas") {".
    Diese Seiten bzw Teile davon, die unabhängig davon immer angezeigt werden, gehen alle!
    Aber alles andere geht nicht!! Entweder der komplette Inhalt wird nicht geladen, oder eben entsprechende Teile! Irgendwie wird das komplett übersehen! Wenn ich mache zB "if(!isset($action))" , dann wird genau das angezeigt, was eigentlich ohne das "!" angezeigt werden sollte! =8o


    Also konkret: Die URL ist "admin.php?module=09&action=damn"

    Folgendes wird NICHT angezeigt:
    if($action == "damn") echo "ganz toll";

    Folgendes wird angezeigt:
    if($action != "damn") echo "noch toller";

    Mache ich if(isset($action) { ... } , dann wird dies - wie zu erwarten - nicht ausgeführt, obwohl die Variable $action ja gesetzt ist.

    Und das Tolle dabei: Habe nix am Code geändert, garnix, alles wie's vorher war. Welcher Browser ist natürlich auch egal.

    Habe grad 2 php.ini's, mit denen ich rumprobiere. Bei der einen kommt sogar immer
    "Notice: Undefinded Variable PHP_SELF in...." --- welches Settings ist dafür verantwortlich? Bei der andern php.ini geht jedenfalls das!

    Hat jemand irgendeine Idee hierzu?! Ich bin am Ende und habe keine Lust mehr zum "auf-gut-Glück-rumprobieren" und bräuchte mal Tipps von fähigen Leuten Ist vielleicht nur was einfaches in der php.ini ? (Wobei ich diese nochmal komplett neu nach Anleitung meines Buches gemacht habe). Vorher ging alles...
    Mir ist klar, dass das "Access Denied" wohl nix mit dem Variablen-Problem zu tun hat

    Ich geb euch auch ein virtuelles Bier aus!

    Danke vielmals im Vorraus!

    Bye,
    jessix

  • #2
    sooooooo viel text für eine winzige option das geheimnis nennt sich register_globals. die stellt man in der php.ini ein. bei dir sind sie wohl auf "off". und das ist auch gut so.

    denn wenn du eine seite so aufrufst: datei.php?actio?egal

    musst du so überrüfen:
    PHP-Code:
    if(isset($_GET['action']) && $_GET['action'] == "egal") {
    echo 
    "jetzt geht es"

    gucke dir dazu am besten einmal die vordefinierten variablen und die infos zu geltungsbereichen von vars in der php manual an
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      nutze mal $_GET['action'] statt $action
      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


      • #4
        Ahh Jungs, danke erstmal!!
        Aber bevor ich zur Tat schreite - warum ist das "auch gut so" ?

        EDIT: Hab's: http://dclp-faq.de/q/q-formular-register-globals.html

        Und ich mache das derzeit so:

        if(isset($_GET['module']) AND isset($content[$_GET['module']])) {
        include $content[$_GET['module']];
        } else {
        include $content['01'];
        }

        Ich versteh grad nicht ganz :P Ist das richtig so? Muss register_globals dafür besser ON oder OFF sein?


        @ Abraxax:

        Erklärst du mir bitte noch kurz den Vorteil? Und wie müsste das konkret in meinem Beispiel aussehen?
        Zuletzt geändert von jessix; 17.12.2003, 12:23.

        Kommentar


        • #5
          Original geschrieben von jessix
          @ Abraxax:
          Erklärst du mir bitte noch kurz den Vorteil? Und wie müsste das konkret in meinem Beispiel aussehen?
          das beispiel hat schmalle gepostet. - weitere infos hast du auf deinem geposteten link.
          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

          Lädt...
          X