Bannerklick Referrer



  • Okay, aber ich frage noch einmal nach: Was genau ist denn das Problem?

    Wobei brauchst du Hilfe? Liste von mir spontan eingefallenen Möglichkeiten siehe oben 😉



  • Hallo,

    kein problem ich beantworte dir gerne mein Problem.

    - ich bräuchte ein Codebeispiel mit dem ich den herkunftlink auslese. Am besten halt noch wer den Banner gesetzt hat. der bannerlink übermittelt eine ID
    - ein beispiel für das speichern des links in eine datei die ich dann abrufen kann

    Das wären ja deine Punkte genau:
    # URI auslesen
    # File Handling

    Da ich mich ja noch nie beschäftigt habe mit PHP, kann ich halt nur mit Beispielen was anfangen. Ich will mich ja nicht ganz vertiefen in PHP. Ist halt nur die Bannergeschichte.

    Besten dank.

    Grüße



  • Hast du einen URI in der Form
    http://www.wasauchimmer.tld/stat.php?id=12442
    Dann hast du den Wert von id in der Variablen $_GET['id'].

    Den Inhalt einer Datei kannst du mit den Dateioperationen handhaben. Da ist http://www.php.net/ eine gute Hilfe 😉
    http://www.php.net/file
    http://www.php.net/file-get-contents
    http://www.php.net/file-put-contents



  • Hallo,
    ich danke dir. Ich schau mir das morgen mal an und mache mich gleich am Mittwoch an die Arbeit.

    Besten dank.

    Grüße



  • So ich hab soweit alles hinbekommen.

    jetzt werden auch die Daten in meine MySQL Datenbank eingetragen. Jetzt weiß ich nicht wie ich einen Zähler einbaue, wenn der Eintrag schon in der Datenbank existiert. Er soll hochzählen wenn die Webseite und der Benutzername identisch ist.

    So füge ich die Zeile in meine Datenbank ein

    $sql = "
    		INSERT INTO ".MYSQL_TABLE." ( ID, Website, Aufrufe, User)
    		VALUES ('', 'blabla.de', '1', 'Mustermann')
    		";
    		$result = mysql_query($sql);
    

    Geht auch
    Jetzt hatte ich gedacht vielleicht funktioniert es so:

    $User = "Mustermann";
            $sql = "
    	    INSERT INTO ".MYSQL_TABLE." ( ID, Website, Aufrufe, User)
    		VALUES ('', 'blabla.de', '1', 'Mustermann')
    		ON DUPLICATE KEY UPDATE Aufrufe=Aufrufe+1;
    		WHERE User = ".$User."
    		";
    		$result = mysql_query($sql);
    

    So geht es jedenfalls nicht

    Kann mir jemand sagen wie ich das mache das 'Aufrufe' höher gezählt wird?

    Vielen vielen Dank.

    Grüße,
    Cyrill



  • $User = "Mustermann";
    $sql = "UPDATE ".MYSQL_TABLE."
            SET Aufrufe = Aufrufe + 1
            WHERE User = '".mysql_real_escape_string($User)."'";
    

    ?

    P.s.
    Abgesehen davon, mein Dauerbrenner:
    http://de.wikipedia.org/wiki/SQL_Injection



  • Ach danke, das mit der Sicherheitslücke. Danke das ist sehr wichtig 😉

    So du hast mir jetzt ein Beispiel gegeben wie ich einen bereits eingegebenen Eintrag aktualisiere, also den Counter erhöhe. Danke dafür schonmal.
    Aber was mache ich jetzt mit meinem alten Code?

    $sql = "
            INSERT INTO ".MYSQL_TABLE." ( ID, Website, Aufrufe, User)
            VALUES ('', 'blabla.de', '1', 'Mustermann')
            ";
            $result = mysql_query($sql);
    

    Der war ja dafür da das ich einen neuen eintrag in die Datenbank anlege.

    Kann ich irgendwie den Code mit deinem Verbinden? Und wie vermeide ich dort die Sicherheitslücke. Ich kann bestimmt alles in einem schreiben oder?

    Also er soll einen neuen Eintag anlegen und wenn ein Eintrag schon existiert mit der gleichen Website und User dann soll er den Counter erhöhen. Das sind die Bedingungen. Mehr brauch ich nicht und ich wäre fertig.

    Meine SQL kenntnisse sind leider nicht so gut.

    Ist ja nur das eine ding was ich programmieren wollte.

    Grüße,
    Cyrill



  • Cyrill Roth schrieb:

    Also er soll einen neuen Eintag anlegen und wenn ein Eintrag schon existiert mit der gleichen Website und User dann soll er den Counter erhöhen. Das sind die Bedingungen. Mehr brauch ich nicht und ich wäre fertig.

    Dann prüfe doch einfach, ob der Wert schon existiert (SELECT FROM ... WHERE User = ... AND Website = ...). Kriegst du ein Ergebnis, schickst du das Update-Query hinterher, andernfalls das INSERT.



  • Ah ok danke, dann werde ich es so machen. Wär glaube ich auch der letzte Weg gewesen den ich gemacht hätte. Dachte halt man kann es irgendwie in einem Machen.

    Aber das mit der Sicherheitslücke muss ich unbedingt beachten. Da es ja um eine Firmendatenbank geht. Wenn das was schief läuft, sag ich nur oh mein Gott.

    Das mit der Sicherheitslücke ist das immer nur der eine Befehl? .mysql_real_escape_string(string) ? Naja ich schau da nochmal in Wiki rein. Fange gleich heute Mittag wieder an.

    Vielen Dank nochmals



  • Ok funktioniert wunderbar.

    Vielen Dank.


Anmelden zum Antworten