Hendrik: doppelte URL-querries Plokieren sich gegenseitig

Hiho an alle,
auf meiner Seite werden alle Seiten URL von queries geloest, die an ein PHP-script ueber geben werden, wie z.b. index.php?page=home, ?page=news und so weiter. Nun habe ich ein Problem. Wenn ich mich auf einer Seite wie z.B. ?page=home befinde und zu einer anderen wechseln will deren URL nicht mit der variablen ?page endet schreibt PHP dort automatisch &page=home noch mit hinten dran, was dafur sorgt, dass ich mich auf der Stelle bewege. ?page=news&subaction=showfull&id=...&archive=&start_from=&ucat=6&page=home
hier habe ich also jetzt page=news und page=home in einer URL, was dafuer sorgt, dass ich nur wieder zu home komme. Das passiert nicht, wenn ich auf einer URL wie einfach index.php bin...

Ich moechte behaupten dass es sich hier einfach um einen PHP bug handelt (PHP4.30).

Kann mir einer nen Tipp geben, wie ich das umgehen kann? Etwa durch das deaktivieren dieser AutoComplete funktion in dieser einen Datei oder das zurechtschneiden der URL oder einfach dem script sagen, dass es nur den ersten Querie nehmen soll...

Bin fuer jede Hilfe dankbar

Bye
Hendrik

  1. Hi,

    es gibt eine Einstellung, der übergebene Variablen automatisch wieder an die Links dranhängt, sowas wie beim Session-Handling. Evtl. ist diese in deiner PHP.ini aktiviert. Leider weiß ich nicht wie die Sache heißt. Aber ich könnte mir vorstellen, dass es daran liegt.

    Gruss Stefan

    1. danke, davon hab ich gehoert, leider kann ich diese ini nicht beeinflussen, da das auf nem Provider server ist....

      Hi,

      es gibt eine Einstellung, der übergebene Variablen automatisch wieder an die Links dranhängt, sowas wie beim Session-Handling. Evtl. ist diese in deiner PHP.ini aktiviert. Leider weiß ich nicht wie die Sache heißt. Aber ich könnte mir vorstellen, dass es daran liegt.

      Gruss Stefan

      1. welchen Provider nutzt Du?
        Du kannst die ini im Normalfall immer kontrollieren...

        set_ini()...

        Gruss Stefan

        1. ich bin auf all-inkl.com
          das mit der set_ini() ist mir neu, danke
          mal schauen, ich seh das als eine moegliche loesung in betracht, warte aber erstmal auf weiteres...

          welchen Provider nutzt Du?
          Du kannst die ini im Normalfall immer kontrollieren...

          set_ini()...

          Gruss Stefan

        2. Hi!

          welchen Provider nutzt Du?
          Du kannst die ini im Normalfall immer kontrollieren...

          set_ini()...

          Das hängt von der Variable ab, siehe: http://de3.php.net/manual/de/function.ini-set.php#AEN78712

          Grüße
          Andreas

        3. welchen Provider nutzt Du?
          Du kannst die ini im Normalfall immer kontrollieren...

          set_ini()...

          No No no nicht alle einstellungen und nicht alles!
          Siehe hierzu:
          http://de3.php.net/manual/de/print/function.ini-set.php
          Mir wäre die Einstellung aber auch absolut neu..
          TomIRL

          1. Ja natürlich kann man nicht ALLES ändern, aber einen großen Teil,

            naja, ich mach jetzt URLAUB ;o)

            Wünsch euch allen Viel Spaß und netten Menschen um Euch rum zu Weihnachten...

            Happy New Year.

            Bye Stefan

      2. Hallo,

        Bitte zitiere nur das, worauf Du Dich beziehst,
        und gliedere Dein Posting anstaendig:
        </faq/#Q-09a> und </faq/#Q-09b>

        es gibt eine Einstellung, der übergebene Variablen automatisch wieder an die Links dranhängt, sowas wie beim Session-Handling. Leider weiß ich nicht wie die Sache heißt.

        Schade, _das_ waere hilfreich gewesen ;-)

        danke, davon hab ich gehoert, leider kann ich diese ini nicht beeinflussen, da das auf nem Provider server ist....

        Es gibt nur wenige Dinge, die ausschliesslich in der php.ini bzw. httpd.conf
        eingestellt werden koennen.

        Viele Dinge kann man auch im Skript selbst einstellen,
        naemlich mit der Funktion ini_set()
        http://www.php.net/manual/de/function.ini-set.php
        Alles, was in der Tabelle PHP_INI_ALL oder PHP_INI_USER hat.

        Einiges kann man auch in der .htaccess einstellen, naemlich
        das, was PHP_INI_ALL oder PHP_INI_PERDIR hat.

        Gruesse,

        Thomas

        --
        Dank /my/ automatisch ausgeblendet: JavaScript, ASP.
        Manuell "ausgeblendet": Threads mit Frames, Iframes und Scrollbalken im Subject...
        Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
  2. Hallo,

    Ich moechte behaupten dass es sich hier einfach um einen PHP bug handelt (PHP4.30).

    Ich moechte behaupten, dass Dein ganzes URL-konzept ziemlich aehmmm... duerftig ist.
    _Das_ ist IMHO das Problem.

    Und Du solltest uns schon verraten, wie Du die Links erzeugst/ausgibst.

    Mir ist kein Mechanismus bekannt, mit dem PHP
    "wie von Geisterhand" irgendwelche Dinge an
    URLs anhaengt (abgesehen von der Session-ID
    beim Fallback).

    Gruesse,

    Thomas

    --
    Dank /my/ automatisch ausgeblendet: JavaScript, ASP.
    Manuell "ausgeblendet": Threads mit Frames, Iframes und Scrollbalken im Subject...
    Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
    1. Hallo,

      Ich moechte behaupten dass es sich hier einfach um einen PHP bug handelt (PHP4.30).

      Ich moechte behaupten, dass Dein ganzes URL-konzept ziemlich aehmmm... duerftig ist.
      _Das_ ist IMHO das Problem.

      ich meine nicht, dass das automatische anhaengen ein bug ist, das ist eine bekannte funktion von PHP, der bug ist, dass es nicht erkennt, wenn ein wert schon verwand wurde.

      meine duerftiges system ist, dass ich den ?page wert aus $_REQUEST auslesen lasse und dann je mach inhalt von include() eine content datei einfuegen lasse. die URL, die hier doppelt beeinflusst wird ist von einem anderen script erzeugt, das ich fuer meine news nutze (cutenews). was passiert, wenn diesen wert nun 2mal verwendet, sieht so aus:
      http://hs.hoodie.de/waste/noco?page=news&subaction=showfull&id=1072163869&archive=&start_from=&ucat=6&page=home&lang=de

      1. Moin!

        Ich moechte behaupten, dass Dein ganzes URL-konzept ziemlich aehmmm... duerftig ist.
        _Das_ ist IMHO das Problem.

        ich meine nicht, dass das automatische anhaengen ein bug ist, das ist eine bekannte funktion von PHP, der bug ist, dass es nicht erkennt, wenn ein wert schon verwand wurde.

        Nicht PHP ist für das Erkennen zuständig, sondern dein Skript. Wenn du das nicht erkennst, hast du das Problem selbst eingebaut.

        Da du bislang noch keinerlei Quelltext rausgerückt hast (mich würde beispielsweise der HTML-Quelltext und die Seiten-URL deines Links interessieren, der angeblich so falsch ist), kann man dir da nicht wirklich helfen.

        - Sven Rautenberg

        --
        Die SelfHTML-Developer sagen Dankeschön für aktuell 20065,57 Euro Spendengelder!
        1. hiho

          Nicht PHP ist für das Erkennen zuständig, sondern dein Skript. Wenn du das nicht erkennst, hast du das Problem selbst eingebaut.

          Da du bislang noch keinerlei Quelltext rausgerückt hast ...

          hast recht sorry, ich lese also nur den

          if(isset($_REQUEST['page'])) $qurl = $_REQUEST['page'];
          else $qurl = 'home';

          switch ($qurl){
           case 'home':  $page = $qurl .".". $cola;break;
           case 'news':  $page = $qurl .".". $cola;break;
           case 'archive':  $page = $qurl .".". $cola;break;
           case 'band':  $page = $qurl .".". $cola;break;
          ....

          $_REQUEST['page'] ist der wert der doppelt gegeben ist, anscheinend
          wird der eigentliche wert ueberschriebe, wenn er noch mals in der URL vorkommt
          siehe hier
          http://hs.hoodie.de/waste/noco?page=news&subaction=showfull&id=1072163869&archive=&start_from=&ucat=6&page=home&lang=de

          der letzte teil wird erzeugt, dadurch, dass ich mich gerade auf der seite page=home&lang=de befand, haette ich sie z.B. in englisch wirde es page=home&lang=en sein, wenn ich allerdings direkt auf der index.php bin, ohne jedliche parameter, geht es, da man PHP keine parameter hinzufuegt...

          mein script ist also eher simpel...