Andi: PHP Weiterleitung variable URL

Hallo Zusammen,
Ich möchte eine url die sich ändern kann nach 10 sekunden aufrufen/weiterleiten.

Wäre auch für mich als anfänger kein problem, gäbe es nicht die vielen "&" in der url.

z.b. http://www.google.ch/search?tbm=isch&hl=de&source=hp&biw=1441&bih=688&q=d&btnG=Bilder+suchen&gbv=2&aq=f&aqi=&aql=&oq=

wird

http://www.google.ch/search?tbm=isch

Hat jmd eine lösung wie ich den ganzen link so weiterleiten kann:
www.meineseite.de/delay.php?url=http://www.google.ch/search?tbm=isch&hl=de&source=hp&biw=1441&bih=688&q=d&btnG=Bilder+suchen&gbv=2&aq=f&aqi=&aql=&oq=

Vielen Dank

  1. Hi,

    Wäre auch für mich als anfänger kein problem, gäbe es nicht die vielen "&" in der url.

    http://wiki.selfhtml.org/wiki/Artikel:Kontextwechsel/erkennen_und_behandeln#URL

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Hi,

      Wäre auch für mich als anfänger kein problem, gäbe es nicht die vielen "&" in der url.

      http://wiki.selfhtml.org/wiki/Artikel:Kontextwechsel/erkennen_und_behandeln#URL

      MfG ChrisB

      Danke für den Link,
      versteh ich das richtig, dass ich nach allen & suchen muss dann?

      1. Moin!

        Hi,

        Wäre auch für mich als anfänger kein problem, gäbe es nicht die vielen "&" in der url.

        http://wiki.selfhtml.org/wiki/Artikel:Kontextwechsel/erkennen_und_behandeln#URL

        MfG ChrisB

        Danke für den Link,
        versteh ich das richtig, dass ich nach allen & suchen muss dann?

        Nein, verstehst du falsch. & ist nicht das einzige Zeichen, das als Wert eines URL-Parameters nicht vorkommen darf.

        Der Link liefert dir drei Beispiele - passt keines auf dein Problem? Ich finde schon.

        - Sven Rautenberg

  2. Mahlzeit Andi,

    Hat jmd eine lösung wie ich den ganzen link so weiterleiten kann:
    www.meineseite.de/delay.php?url=http://www.google.ch/search?tbm=isch&hl=de&source=hp&biw=1441&bih=688&q=d&btnG=Bilder+suchen&gbv=2&aq=f&aqi=&aql=&oq=

    Du willst also einer URL (z.B. "http://www.example.com/delay.php") per GET einen Parameter übergeben. Dieser Parameter darf keine Zeichen enthalten, die im Kontext "URL" eine besondere Bedeutung haben.

    Diese Zeichen müssen entsprechend codiert werden - das macht komfortablerweise z.B. die Funktion urldecode() für Dich.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Danke für deine Antwort, bis anhin habe ich erfolglos mit urlencode gearbeitet :(

      <html>  
      <head>  
      <?php  
        
      $strUrl = urlencode($_GET['strUrl']);  
        
      header('Location: '.$strUrl);  
        
        
      ?>  
      </head>  
      </body>  
      </html>  
      
      
      1. Hi,

        Danke für deine Antwort, bis anhin habe ich erfolglos mit urlencode gearbeitet :(

        Du wendest es ja auch zum falschen Zeitpunkt an.

        <html>

        <head>
        <?php

        $strUrl = urlencode($_GET['strUrl']);

        header('Location: '.$strUrl);

          
        Wenn du per $\_GET darauf zugreifst, dann \*kommt\* der Wert bereits \*aus\* dem Kontext URL.  
          
        Beim \*hinein\* bringen \*in\* diesen Kontext musst du den Wert aber entsprechen behandeln - also an der Stelle, wo du deinen Link auf dieses Script ausgibst, mit dem du die Adresse als URL-Parameter übergeben willst - \*dort\* musst du den Wert dem Kontext entsprechend behandeln.  
          
        Und btw., vor einem Aufruf von header darfst du theoretisch keine Ausgaben machen. (Wenn es „trotzdem funktioniert“, dann nur deshalb, weil auf diesem System output buffering aktiviert ist.)  
          
        Falls du noch zusätzlich ein HTML-Dokument ausgeben willst, bspw. um den Benutzern von Clients, die einer solchen Weiterleitung nicht automatisch folgen (wollen), dann wenigstens einen entsprechenden Link anzubieten - dann mach das \*nach\* dem header-Aufruf.  
          
        MfG ChrisB  
          
        
        -- 
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?