PHP: Weiterleitung ohne "Refresh"?

  • Hallo TTler!


    ich bin dabei, mir ein kleines Link-Directory in PHP zu basteln, welches auch das Zählen der Klicks beinhaltet. Nun meine Frage: bisher habe ich den Link selbst in der Form: /path/to/out.php?id=123 realisiert, welche dann den Click-Wert von der jeweiligen Link-ID in der Datenbank um 1 hochgezählt und den User via <meta http-equiv="Refresh" content="0; URL=http://link.tld"> weitergeleitet hat. Aber gibt es da nicht irgendwie eine cleverere Methode ohne diese Weiterleitungsseite?


    Gruss & THX - 3dc

  • ja gibt es:


    header('Location: '. 'http://ichbineineurl.de/');


    ist im Prinzip das Gleiche ... achte auch darauf, daß du vorher keinen Text ausgeben darfst ... ad hoc fällt mir nichts anderes ein ...

    -> Tristan @ Work <-
    --

  • danke erstmal, nur gibt es dabei ein kleines Problem :rolleyes:
    wie kann ich an dieser Stelle denn eine Variable einfügen lassen?
    PHP versucht dann immer $variablenname auf meiner Domain zu finden..


    Also die Weiterleitung geht dann auf http://my.tld/$url.


    :confused:


    vielleicht hat ja noch jemand eine Idee...


    gruss - 3dc

  • kannst du mal die code-zeile posten? Weiß jetzt nicht genau was du meinst ... willst du eine Variable an einen String hängen?


    $bla = "http://meineurl" . $meinevariable oder wie oder was?

    -> Tristan @ Work <-
    --

  • Entwarnung, jetzt funktionierts *g*


    Zuerst hatte ich nach deinem Beispiel
    header('Location: '. '$url');
    genommen, was zwar mit einer Adresse statt $url klappte, aber mit Variablen den oben geposteten Fehler erzeugte.


    jetzt mit
    header('Location:'.$url);
    funktioniert es aber :)


    Danke für dein Engagement - 3dc


    PS: hier kann sich die Sache schon mal angeschaut werden, ist aber noch 'ne Beta ;)

  • Hi!


    3dc


    Du hast da einen kleinen Anfängerfehler in PHP gemacht :)


    Strings, die in einfache Hochkommas eingebettet sind (z.B. '$url') werden von PHP NICHT geparst, d.h. da bleibt '$url' stehen.


    Strings, die in doppelte Hochkommas eingebettet sind (z.B. "$url") werden dagegen geparst.


    Header("Location: $url") klappt.
    Header('Location: $url') klappt nicht.


    Bitte beachte, dass $url in jedem Fall eine vollwertige Adresse sein muss, d.h. ein Header("Location: index.php?foo=bar") ist ungültig und muss Header("Location: http://my.doma.in/index.php?foo=bar") lauten.


    Gruss,
    Alexander

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!