kostenloser Webspace werbefrei: lima-city


Enter your phone number here

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    n*********s

    Liebe Lima User,

    Ich will eine Werbe-Seite entwerfen, und überprüfen wenn tag/jemand">jemand auf Werbung klickt, z.B. bei http://werbung.online-geld-system.de

    gibt es ja diesen Banner:

    <script type="text/javascript" src="http://www.adshot.de/click_adshot/paidview.php?f=468&amp;id=nathanaelus&amp;subCategory="></script>



    Kann ich es überprüfen ob jemand darauf klickt ?


    über jegliche Hilfe wäre ich dankbar

    mfg nathanaelus

    Beitrag zuletzt geändert: 4.6.2012 13:29:14 von nathanaelus
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Hast du eine Datenbank laufen, in der du die klicks aufzeichnen kannst?
  4. Autor dieses Themas

    n*********s

    Ja habe ich, hättest du dann eine Idee ?
  5. Schau dir doch mal den Beitrag an ...

    http://www.lima-city.de/thread/onclick-wert-in-datenbank-uebergeben/page%3A0/perpage%3A20

    ... ich denke das ist genau das was du suchst.

    Beitrag zuletzt geändert: 4.6.2012 14:24:48 von cad-stock
  6. Autor dieses Themas

    n*********s

    Super, vielen Dank!
  7. lässt sich aber überlisten!
    Bei allem was javascript angeht, muss man aufpassen, da javascript sehr leicht manipuliert werden kann.

    In diesem Fall wäre es zwar einfacher auf den Banner zu klicken als da was zu manipulieren, aber dennoch solltest du das beachten.
  8. Autor dieses Themas

    n*********s

    mhh das ist wahr... Gäbe es denn keine ganze PHP alternative?
  9. Hier noch eine AJAX Lösung

    wenn Du mehrere Banner hast, um bestimmte Banner-Klicks loggen willst,
    dann musst Du jedem Banner eine eindeutige ID (oder Name) geben,
    damit klar ist, welcher Banner angeklickt wurde (hier BSP: banner_123)

    entweder baust Du den onCkick Event direkt in den <script> TAG ein
    <script type="text/javascript" onclick="logClick('banner_123')" src= ... </script>

    ich weiss aber nicht, ob das in einem <script> TAG so gut ist :O

    oder du setzt ein anderen TAG (z.B: <span> TAG) mit der id drum herum
    <span id="banner_123" onclick="logClick(this.id)" />
       <script type="text/javascript" src= ... </script>
    </span>


    wichtig ist halt, dass jeder Banner auch seine eigene id hat
    damit Du den Klick auch dem Banner zuordnen kannst


    der HTML-Code:

    <html>
    <head>
    <title>Homepage</title>
    
    <script type="text/javascript">
    
    function logClick(link_id) {
    
    var logscript = 'log_click.php'; 
    var milli_sec = new Date().valueOf(); 
    
    // ---- code for IE7+, Firefox, Chrome, Opera, Safari 
    if (window.XMLHttpRequest) { 
      xmlhttp=new XMLHttpRequest(); 
    }
    
    // ---- code for IE6, IE5
    else { 
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    }
    
    /* ---- write responseText into id="ergebnis" ---- 
      xmlhttp.onreadystatechange=function()  {
      if (xmlhttp.readyState==4 && xmlhttp.status==200) {
        document.getElementById("ergebnis").innerHTML=xmlhttp.responseText;
        }
      }
    ---- */
    
    xmlhttp.open("GET",logscript+"?id="+link_id+"&ms="+milli_sec,true);
    xmlhttp.send();
    
    }
     
    </script>
     
    </head>
    
    <body>
     
    <div id="content">
      <br />
      <span id="banner_123" onclick="logClick(this.id)" />
          <!-- Start Banner Code -->
             <script type="text/javascript" src= ... </script>
          <!-- Ende Banner Code -->
      </span>
      <br />
    </div>
    
    
    <div id="ergebnis"></div>
    
    
    </body>
    </html>



    Erklärung zu JS / AJAX:

    Durch einen Klick auf den TAG mit dem onClick-Event
    werden GET Werte an eine PHP-Datei (hier: og_click.php) übergeben
    diese GET-Werte (Banner-ID, Timestamp in MS, ... ) kannst Du dann loggen / speichern

    in der Datei: var logscript = 'log_click.php';
    kannst Du dann die Klicks erfassen und loggen / speichern (in MySQL-Tabelle)

    als Parameter im onClick-Event übergibst Du eine ID (oder einen Namen)
    um den Banner, der geklickt wurde, eindeutig zu identifizieren (welcher)
    das JavaScript fügt als GET-Wert noch den unix Timestamp (in Millisekunden) dazu
    Du kannst nehr beliebig mehr GET-Werte einfügen (Referer, User-IP, etc...)

    der Timestamp ist wichtig, damit jeder Klick "neu" geloggt werden kann
    weil ohne den würde der vorherige Klick noch im Cache stecken,
    und somit würde kein neuer Request "gesendet" werden ... xmlhttp.send()

    eine User-IP wäre evtl Sinnvoll, wenn man Mehrfach-Klicks von Unique-Klicks unterscheiden will
    die könnte man per PHP innerhalb des Javascript holen (wenn die Seite eine .php-Seite ist)
    var logscript = 'log_click.php'; 
    var milli_sec = new Date().valueOf(); 
    var user_ip = '<?php echo $_SERVER['REMOTE_ADDR']; ?>';


    und dann als GET Parameter für den Aufruf anfügen
    xmlhttp.open("GET",logscript+"?id="+link_id+"&ms="+milli_sec+"&userip="+user_ip,true);


    somit würde in der log_click.php auch ankommen: $_GET['userip'] (für IP-Sperre, etc.)

    ... wie du das "speichern in MySQL" machst, ist hoffentlich klar :) ... INSERT INTO ...

    ... das Cache-Problem bei AJAX Requests kann man evtl. auch anders lösen,
    z.B. mit header Cache-Control o.ä. ... oder halt immer Timestamp mit übergeben

    PS
    den Teil hier:
    /* ---- write responseText into id="ergebnis" ----
      xmlhttp.onreadystatechange=function()  {
      if (xmlhttp.readyState==4 && xmlhttp.status==200) {
        document.getElementById("ergebnis").innerHTML=xmlhttp.responseText;
        }
      }
    ---- */

    kannst Du auch weglassen, ist ehh aus-kommentiert
    und soll nur zeigen, dass man den Inhalt, den log_click.php ausgibt
    auch wieder auf der Seite (von dem der Klick aus ging) anzeigen lassen kann
    (also in ein bestimmtes DIV rein-schreiben, hier: <div id="ergebnis>...</div>)
    so eine Ausgabe macht hier aber wenig Sinn ... da ja "nur" geloggt" werden soll
    ist aber nützlich für z.B. bei Votes abgeben und Ergebnis gleich anzeigen
    ... aber das ist ein anderes Thema



    Beitrag zuletzt geändert: 4.6.2012 15:38:32 von wzone
  10. Autor dieses Themas

    n*********s

    Erstmal vielen dank wzone an die ausführliche Antwort, trotzdem habe ich nicht verstanden wie

    onclick="logClick(this.id)


    Die id an log_click.php übergeben kann.

    function logClick(link_id) {
     
    var logscript = 'log_click.php'; 
    var milli_sec = new Date().valueOf();



    könntest du das noch einmal erläutern?

    Danke im vorraus
  11. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    nathanaelus schrieb:
    trotzdem habe ich nicht verstanden wie

    onclick="logClick(this.id)


    Die id an log_click.php übergeben kann.
    Der nögite Code, der etwas an den Server schickt:
    var logscript = 'log_click.php'; 
    var milli_sec = new Date().valueOf(); 
     
    if (window.XMLHttpRequest) { 
      xmlhttp=new XMLHttpRequest(); 
    else
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    xmlhttp.open("GET",logscript+"?id="+link_id+"&ms="+milli_sec,true);
    xmlhttp.send();


    Erklärung:
    if (window.XMLHttpRequest) { 
      xmlhttp=new XMLHttpRequest(); 
    else
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    erstellst du ein XMLHttpRequest-Objekt, mit dem Anfragen an den Server gestellt werden können.

    xmlhttp.open("GET",logscript+"?id="+link_id+"&ms="+milli_sec,true);
    damit setzt du die URL die aufgerufen werden soll

    xmlhttp.send();
    hiermit wird die Anfrage an den Server gesendet und die Seite heruntergeladen.

    Das ganze nennt sich AJAX...
  12. Autor dieses Themas

    n*********s

    Okay danke soweit :)

    Dann werde ich mich erstmal über ajax informieren bis ich weiter mache weil ich bisher damit 0 zu tun hatte
  13. mit
    ... onclick="logClick(this.id)" ....

    übergibst Du die aktuelle id an die Funktion

    Du kannst aber auch direkt einen String (eine ID) übergeben
    ... onclick="logClick('ich werde übergeben, ob string oder zahl')" ...



    was da übergeben wird, kommt in der Funktion als Variable link_id an
    und nach senden der Anfrage kommt es in log_click.php als $_GET['id'] an
    ebenso die anderen Parameter aus dem GET-String


    In der JS Funktion wird dann ein HTTP-GET-Request erzeugt (AJAX)
    und die übergebene Variable (link_id) sowie timestamp, etc. wird im GET-String eingefügt

    mit
    var logscript = 'log_click.php';

    definierst Du einfach den Dateiname (evtl. mit Pfad)
    ... also die Datei, an welche die GET Anfrage gesendet werden soll

    das:
    xmlhttp.open("GET",logscript+"?id="+link_id+"&ms="+milli_sec,true);


    wird (durch Austausch der Variablen durch Klartext) quasi zu
    xmlhttp.open("GET","log_click.php?id=banner_123&ms=1234567890",true);


    und durch die Zeile:
    xmlhttp.send();

    passiert dann der eigentliche Aufruf (die URL mit GET Parameter senden)

    dann passiert bei der log_click.php genau das gleiche, wass bei Klick auf einen Link passieren würde
    <a href="log_click.php?id=banner_123&ms=1234567890">KLICK MICH</a>


    halt eine GET-Anfrage


    :grins: ... hackyourlife war schneller :) .. naja doppelt hält besser :)



    Beitrag zuletzt geändert: 4.6.2012 16:28:33 von wzone
  14. 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!