kostenloser Webspace werbefrei: lima-city


Link Out Counter

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    quco

    Kostenloser Webspace von quco

    quco hat kostenlosen Webspace.

    Hallo

    Ich sehe immer auf einigen Seiten das wenn da ein externer Link steht das die meistens so aussehen:
    example.org/go-to=?example.net oder so ähnlich zumindest.

    jetzt zu den Fragen:

    Wie mache ich sowas?

    Was muss ich in der MySQL Datenbank einstellen?

    Wie müssen die Links auf der Weseite geschrieben werden, oder werden die automatisch mit dem go-to=?example.org gesetzt?

    Ist es hier möglich?


    Wäre schön, wenn es ausführliche Antworten sind und mit viel Beschriebung, keine Links (nur wenn es nicht anders geht).

    nikic: RFC 2606 Konformität sichergestellt

    Beitrag zuletzt geändert: 13.3.2010 22:33:51 von nikic
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo,

    die links sehen meisten so aus:
    http://example.org/topic.php?link=example.net
    der Teil bis zum tag/fragezeichen">Fragezeichen ist klar. Das Fragezeichen bedeutet, dass danach Variablen via GET übergeben werden.

    Nun kann man mit:
    $_GET['link']
    den Wert, der in dem Link angeben ist, erhalten. Hier wäre es "example.net".

    Nun nutzen die meisten, diese Methode um z.B. den Ursprungseite zu verschleier. Also wenn du nicht möchtest, dass der Betreiber der Adresse "example.net" herausbekommt, dass du seine Seite verlinkt hast. (z.B. anonym.to)

    Im Grude ist es ein Feature, was sich Leute selber in PHP einbauen und nicht seitens des Servers bereit gestellt wird.

    Gruß
    illuxio

    nikic: RFC 2606 Konformität (nochmals :D) sichergestellt
    illuxio: Das verwursteln etwas reduziert, damit die Zusammenhänge wieder klar werden.

    Beitrag zuletzt geändert: 13.3.2010 22:34:55 von illuxio
  4. Ich nehme an, dass da eher
    example.org/go-to?t=example.net
    gestanden hat. Denn so wäre es einfach, die Umleitung mit der Datei "index.php in Ordner "go-to" zu übernehmen. index.php bekommt dann eine Variable $_GET['t'] hereingereicht, die das Umleitungsziel definiert. Nun ist es ein Leichtes, die Umleitungsaktion mit den dazugehörenden Informationen wie Zeitpunkt, möglicherweise Benutzername (aus einer Sessionvariable, falls sie existiert) und IP-Adresse (ja,ja, ich sage jetzt nichts zu den datenrechtlichen Bestimmungen ...) mit einem INSERT in eine entsprechende MySQL Tabelle einzufügen und danach mit einem einfachen HTML-header-Meta-Tag
    <meta http-equiv="refresh" content="0; URL=<?= $_GET['t'] ?>">
    die Umleitung auf die neue Seite vorzunehmen. In der obigen Zeile habe ich in ein "normales" head-tag ein kurzes PHP-Segment eingefügt. Dabei ist "<?=" quasi gleichbedeutend mit "<?PHP echo".

    Naja, nun bin ich eben der zweite, der das schreibt ...

    LG,
    Carsten

    Beitrag zuletzt geändert: 13.3.2010 22:35:31 von cars-ten
  5. cars-ten schrieb:
    <meta http-equiv="refresh" content="0; URL=<?= $_GET['t'] ?>">
    Viel Spaß beim Fehler bekommen. Schickes echo, das da nicht steht, und dass der Befehl ganz ohne ordnungsgemäßen ; beendet wurde ist sowieso der Oberhammer. Eine Ausgabe in HTML zu erzeugen ist hier überhaupt nicht sinnvoll und eine automatische Weiterleitung nach 0 Sekunden sowieso nicht, da das ganze recht witzig wird, wenn der User dann später den Zurück-Button im Browser verwenden will. Dann wird er nämlich gleich wieder nach vorne katapultiert werden.

    Sowas macht man mit einer ordentlichen Header-Anweisung:

    <?php
        header('Location: '.$_GET['t']);
    ?>



    Edit: Ich will keinen neuen Beitrag deswegen schreiben, also füge ich es hier ein.

    Das = habe ich übersehen, und dass vor einem ?> der letzte Befehl nicht mit einem ; beendet werden muss, wusste ich ehrlich gesagt nicht. Ich finde aber, dass man schon allen wegen der Ordnung jeden Befehl immer mit einem ; beenden sollte.


    Beitrag zuletzt geändert: 13.3.2010 22:56:03 von drafed-map
  6. Auch wenn ich mit deiner allgemein Ansicht, dass eine Meta-Weiterleitung nicht sinnvoll ist, einverstanden bin, kann ich einige Sachen hier doch nicht so stehen lassen.
    Schickes echo, das da nicht steht,

    Wenn short_open_tag aktiviert ist (standartmäßig) ist die Syntax <? als alias für <?php und <?= als alias für <?php echo möglich.
    und dass der Befehl ganz ohne ordnungsgemäßen ; beendet wurde ist sowieso der Oberhammer.

    Vor einem ?> muss kein Semikolon stehen ;)
    wenn der User dann später den Zurück-Button im Browser verwenden will. Dann wird er nämlich gleich wieder nach vorne katapultiert werden.

    Das hängt vom Browser ab. Firefox beispielweise würde die umleitende Seite nicht in die History nehmen, ein "Feature", das mich schon immer unheimlich genervt hat.

    Ansonsten finde ich aber auch, dass es unsauberer Stil ist.

    Beitrag zuletzt geändert: 13.3.2010 22:49:37 von nikic
  7. He Jungs,
    immer schön locker bleiben... ich habe mir schon gedacht, dass meine Meta-Anweisung für Diskussionsstoff sorgen würde! Die Sache mit den Short-Open Tags (@nikic: Vielen Dank für den Hinweis auf den short_open_tag-Flag!) benutze ich des öfteren, wenn ich - was hier sicher auch als unsauberer Stil bezeichnet werden wird - auf einer PHP-Seite in einem "Template-Bereich" (also in einem reinen html-Bereich) auf sehr kurze Art und Weise den Inhalt einer PHP-Variablen unterbringen möchte. Die Alternative wäre, den gesamten html-Code durch echo-Anweisungen auf die Seite zu bringen. Dabei läßt sich der html-Code, da er (möglicherweise auch noch fragmentiert) in PHP-Strings steht, aber nicht mehr mit einem Syntax-Hilighter auf offensichtliche Fehler überprüfen. Deshalb ich halte die Short-Open-Tags nach wie vor für eine praktikable Lösung (vorausgesetzt, das o.g. Flag ist auch tatsächlich gesetzt!).

    Und ich nehme gern den Hinweis mit der "echten" PHP-header-Funktion an! Danke, werde ich mir für zukünftige Anwendungen merken!
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!