Array $_GET trotz übergebener Variablen leer

  • Hallo an alle.
    Ich habe auf einer Seite die Bildergalerie von pixlie.de mit include eingebunden.
    Seltsamerweise wird bei klick auf eine Gallerie wieder die gallerieübersischt angezeigt, eine Gallerie wird mit ?action=showgallery aufgerufen.
    var_dump zeigt allerdings, dass das array $_GET leer ist, also die notwendige Variable gar nicht übergeben wurde, obwohl sie im link korrekt angeben ist.

    Kennt jemand vielleicht Ursachen, die das Übergeben von variablen per GET verhindern?
    Danke für Hilfe,
    jojo


  • stimmt ^^

    1 million euro frage

    ich tippe einfach mal drauf, dass du die links falsch bastelst
    aber erstmal source her ! :)

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  • Diese links werden von der Bildergallery erzeugt, genauer der pixlie.php.
    Hier der Teil, in dem ich variablen zur Homepage und angehängte variablen eingeben kann:

    Code
    $domaene = "http://www.gentianakenya.org";                                                   //Your domain root
    //$root = "/home/www/IhrBenutzer/html";                                                    //Server path to root directory
    //$arbeitsverzeichnis = "/pixlie";                                                         //Folder of pixlie
    $modul = "http://www.gentianakenya.org/index.php";                                      //Scriptname of pixlie or the including script 
    $modulparameter = "&id=1";                                                //These values are appended at any links. May be useful if pixlie is included.
    //$templateordner = "http://www.IhreDomain/pixlie";                                        //Full domain path to template files (where uebersicht.html is)

    Hier ein besagter link, bei dem die Übergabe nicht klappt:
    http://www.gentianakenya.org/index.php?acti…d=gentiana&id=1


    Die Variable $id inculdiert die pixlie.php in die Webseite.


  • Wir brauchen die index.php, bzw. den Teil davon, wo die Variablen action, pfad und id verwendet werden.

  • Die Variable $id lädt Inhalte in die contentload.php, welche dann wiederum in die index.php includiert wird:
    Array $id:

    Code
    $id = array();
    $id['1'] = "http://www.gentianakenya.org/pixlie/pixlie.php";
    $id['2'] = "http://www.gentianakenya.org/content/contact.html";
    $id['3'] = "http://www.gentianakenya.org/content/disclaimer.html";
    $id['4'] = "./content/links.html";
    $id['10'] = "http://www.gentianakenya.org/content/mailsent.html";

    contentload.php

    die pixlie.php ist dann für die Gallery verantowrtlich.
    Da ich nicht der php Held bin, stelle ich die pixlie.php hier mal zum download hin, ist stark auskommentiert, ich hoffe ihr findet dort was.
    Schon mal danke fürs anschauen.

    EDIT: Das ist jetzt eine unbearbeitete Variante der pixlie.php. Die Änderungen, welche ich bereits gemacht habe, seht ihr im Post oben.

  • Zitat von jojo87


    Benutze mal $HTTP_GET_VARS anstatt $_GET

    Dann müsste es funken

    undertaker1753

  • Sorry, hat leider nicht funktioniert.
    Ich habe aber (glaub ich) noch etwas entdeckt:
    Das Problem ist ja, dass die Variablen $_GET[action] und $_GET[pfad] nicht bei der ausführenden pixlie.php ankommen. Sie sind aber (zumindest in der index.php) vorhanden, wo die pixlie.php ja includiert wird. Also hat jemand eine Idee, warum pixlie sie nicht aufgreift oder wie man das erzwingen kann?
    schaut euch mal diesen link an. in der contentload.php steht jatzt var_dump($_GET);
    http://www.gentianakenya.org/index.php?acti…d=gentiana&id=1


  • Achtung!

    Code
    if (isset ($_GET['id'])) {
    
    
    
    include $id[$_GET['id']].'?'.$_ENV['REDIRECT_QUERY_STRING'];
    }


    Bei register_globals=on geht das voll in die Hose! Nenne das Array nicht $id, sondern z.B. $ids

  • meinst du wegen dem .$_ENV['REDIRECT_QUERY_STRING'];?
    Das habe ich inzwischen rausgenommen.
    Oder wird der Plural in php wirklich so ernst genommen?
    Sorry, bin noch PHP-Anfänger.


  • nein, aber register globals überschreibt dir dann die array..
    http://de.php.net/register_globals

    so und weiter im text.
    wiso geht es in der includeten file nicht...
    je kein wunder, du inlcudest sie ja auch als URL.
    was zu einem apache unter aufruf führt, wo deine global vars verschwinden.

    mach einfach
    include('foo.php'); // hinter dem php darf nichts mehr stehen.

  • Ja super, nu gehts. habe den Aufruf mit relativer Pfadangabe gemacht, nachdem du mich drauf hingewiesen hast. Danke.
    So, nun kleine lesestunde auf php.net.
    Danke nochmals, habe nun wochen an der Scheiße gesessen.....