ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » PartnerBox - Klicks zählen

Geschlossen
  1. #1
    User Pic
    Schakal Mitglied
    Registriert seit
    18.07.2008
    Beiträge
    73
    Beitragswertungen
    0 Beitragspunkte
    Hi,
    wir haben vor auf unserer Clanseite einen Partnerbox einzurichten. Genutzt wird sie aber für unseren Sponsor. Eine Vorraussetzung von seiner Seite ist/war, dass wir ihm sagen können wie viele Leute den Banner in Woche oder Monat oder insgesamt aufgerufen haben.

    Laut MySQL Table ist diese Funktion nicht angedacht...
    Hat von euch jemand, diese Funktion schon implementiert bzw. eine Umsetzungsidee?

    Theoretisch weiß ich, was ich programmieren/konfigurieren soll:
    - MySQL Table um ein Atrribut "anzahl" erweitern
    - Eine neue Seite erstellen, die dann die übergebene PartnerID umsetzt in die wirkliche URL und auto. weiterleitet.
    - Den Link in /includes/boxes/allianz.php in Zeile 9 auf die vorherstellte Seite konfigurieren und die PartnerID mitübergeben.

    Leider haberts wieder mal mit der Umsetzung.... grumml


    Grüsse,
    Schakal
    Projekte:
    Userimport aus Joomla, Status: 75%, Beta-Phase
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Schakal Mitglied
    Registriert seit
    18.07.2008
    Beiträge
    73
    Beitragswertungen
    0 Beitragspunkte
    G' Abend @all,
    die Lösung ist gefunden....

    1.) Ich habe die MySQL - Tabelle "prefix_partners" um das Spalte / Attribut "Klicks" erweitert. Der Typ ist "Int(ger)" und die Länge habe ich mal "4" angeben. Somit sind 9999 Klicks möglich.

    2.) Ich habe eine eigene Seite eingerichtet "allianzcounter.php". Diese Datei habe per Notepad++ editiert:
    <?php defined ('main') or die ('no direct access'); 
    
    $sql="UPDATE ic1_partners  set klicks=klicks+1 where id=".$_GET['id'].";";
    mysql_query($sql);
    
    $sql="SELECT link FROM ic1_partners WHERE id=".$_GET['id'].";";
    $result=mysql_query($sql);
    $row=mysql_fetch_object($result);
    
    echo "<meta http-equiv='refresh' content='0; URL=".$row->link."'>";
    ?>
    Einen Moment bitte, du wirst weitergeleitet...
    <!--@title=@--><!--@hmenu=@--><!--@view=normal@--><!--@viewoptions=@--><!--@wysiwyg=1@-->

    Somit wird die Anzahl der entsprechenden ID um Eins erhört und sofort auf die ext. Seite weitergeleitet.

    3.) Die "Boxes"-Datei "allianz.php" angepasst. Und zwar folgende Zeilen:
    $tpl->set("link", $allyRow->link);

    durch
    $tpl->set("link", "?allianzcounter&id=".$allyRow->id);

    ersetzen....fertig. :-) Viel Spaß!


    Gruss,
    Schakal
    Projekte:
    Userimport aus Joomla, Status: 75%, Beta-Phase
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Schakal Mitglied
    Registriert seit
    18.07.2008
    Beiträge
    73
    Beitragswertungen
    0 Beitragspunkte
    Hallo,
    soo....nun auch schon ein Update v0.2. In der neuen Version wird nun genau aufgeschlüsselt wie oft welcher Parnterbanner / -link am Tag aufgerufen wurde. Somit kann dem Sponsor Rechenschaft abgelegt werden.

    Die allianzcounter.php sieht nun so aus:
    <?php defined ('main') or die ('no direct access'); 
    
    //Überprüft ob das aktuelle Datum bereits in der Tabelle steht
    $sql="SELECT date FROM `ic1_partnervisits` WHERE date='".date("Y-m-d")."';";
    $result=mysql_query($sql) OR die ("Fehler bei der SQL Abfrage:<br/ >". mysql_error());
    
    // Wenn er keinen Datensatz zum heuten Datum findet
    if (mysql_num_rows($result) <= "0")
    	{
    	//Erstellt neuen Datensatz für das heutige Datum
    	$sql="INSERT INTO `ic1_partnervisits` (`id`, `partners_id`, `date`, `klicks`) VALUES (NULL, '".$_GET['id']."', '".date("Y-m-d")."', '1')";
    	mysql_query($sql) OR die ("Fehler bei der SQL Abfrage:<br/ >". mysql_error());
    	}
    else
    	{
    	$sql="UPDATE `ic1_partnervisits` SET klicks=klicks+1 WHERE date='".date("Y-m-d")."';";
    	mysql_query($sql) OR die ("Fehler bei der SQL Abfrage:<br/ >". mysql_error());
    	}
    
    $sql="SELECT link FROM ic1_partners WHERE id=".$_GET['id'].";";
    $result=mysql_query($sql);
    $row=mysql_fetch_object($result);
    
    echo "<meta http-equiv='refresh' content='0; URL=".$row->link."'>";
    ?>
    Einen Moment bitte, du wirst weitergeleitet...
    <!--@title=@--><!--@hmenu=@--><!--@view=normal@--><!--@viewoptions=@--><!--@wysiwyg=1@-->

    Zusätzlich wird auch eine Tabelle anlegt, da wir uns gerne an die Grundsätze der DB Enwicklung halten wollen. lachen

    MySQL Code:
    CREATE TABLE IF NOT EXISTS `ic1_partnervisits` (
      `id` int(10) NOT NULL auto_increment,
      `partners_id` int(3) NOT NULL,
      `date` date NOT NULL,
      `klicks` int(10) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

    Viel Spaß....


    Gruss,
    Schakal
    Projekte:
    Userimport aus Joomla, Status: 75%, Beta-Phase
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Hassmann Mitglied
    Registriert seit
    13.02.2008
    Beiträge
    1.591
    Beitragswertungen
    9 Beitragspunkte
    Schakal ich muss sagen du kannst nicht an ilch anpassen!

    Bitte den Code nehmen:
    <?php defined ('main') or die ('no direct access'); 
    
    //Überprüft ob das aktuelle Datum bereits in der Tabelle steht
    $sql="SELECT date FROM `prefix_partnervisits` WHERE date='".date("Y-m-d")."';";
    $result=mysql_query($sql) OR die ("Fehler bei der SQL Abfrage:<br/ >". mysql_error());
    
    // Wenn er keinen Datensatz zum heuten Datum findet
    if (mysql_num_rows($result) <= "0")
        {
        //Erstellt neuen Datensatz für das heutige Datum
        $sql="INSERT INTO `prefix_partnervisits` (`id`, `partners_id`, `date`, `klicks`) VALUES (NULL, '".$_GET['id']."', '".date("Y-m-d")."', '1')";
        mysql_query($sql) OR die ("Fehler bei der SQL Abfrage:<br/ >". mysql_error());
        }
    else
        {
        $sql="UPDATE `prefix_partnervisits` SET klicks=klicks+1 WHERE date='".date("Y-m-d")."';";
        mysql_query($sql) OR die ("Fehler bei der SQL Abfrage:<br/ >". mysql_error());
        }
    
    $sql="SELECT link FROM prefix_partners WHERE id=".$_GET['id'].";";
    $result=mysql_query($sql);
    $row=mysql_fetch_object($result);
    
    echo "<meta http-equiv='refresh' content='0; URL=".$row->link."'>";
    ?>
    Einen Moment bitte, du wirst weitergeleitet...
    <!--@title=@--><!--@hmenu=@--><!--@view=normal@--><!--@viewoptions=@--><!--@wysiwyg=1@-->


    Sowie der Code aussieht gut^^ nur alles schlecht an ilch^^ nid ic1_ nimm prefix und
    CREATE TABLE IF NOT EXISTS `deinprefix_partnervisits` (
      `id` int(10) NOT NULL auto_increment,
      `partners_id` int(3) NOT NULL,
      `date` date NOT NULL,
      `klicks` int(10) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


    dein prefix anpassen standart ic1_ je nach install^^
    Sub2Go.NET | Kostenlosen Webspace mit vielen features! Für Ilch-Forumsmitglieder doppelten Speicher!
    Mave1993.de Blog
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.354
    Beitragswertungen
    84 Beitragspunkte
    schlau tun, aber mysql_ nicht durch db_ ersetzen...

    <?php defined ('main') or die ('no direct access'); 
    
    //Überprüft ob das aktuelle Datum bereits in der Tabelle steht
    $sql="SELECT date FROM `prefix_partnervisits` WHERE date='".date("Y-m-d")."';";
    $result=db_query($sql) OR die ("Fehler bei der SQL Abfrage:<br/ >". mysql_error());
    
    // Wenn er keinen Datensatz zum heuten Datum findet
    if (db_num_rows($result) <= "0")
        {
        //Erstellt neuen Datensatz für das heutige Datum
        $sql="INSERT INTO `prefix_partnervisits` (`id`, `partners_id`, `date`, `klicks`) VALUES (NULL, '".$_GET['id']."', '".date("Y-m-d")."', '1')";
        db_query($sql) OR die ("Fehler bei der SQL Abfrage:<br/ >". mysql_error());
        }
    else
        {
        $sql="UPDATE `prefix_partnervisits` SET klicks=klicks+1 WHERE date='".date("Y-m-d")."';";
        db_query($sql) OR die ("Fehler bei der SQL Abfrage:<br/ >". mysql_error());
        }
    
    $sql="SELECT link FROM prefix_partners WHERE id=".$_GET['id'].";";
    $result=db_query($sql);
    $row=db_fetch_object($result);
    
    echo "<meta http-equiv='refresh' content='0; URL=".$row->link."'>";
    ?>
    Einen Moment bitte, du wirst weitergeleitet...
    <!--@title=@--><!--@hmenu=@--><!--@view=normal@--><!--@viewoptions=@--><!--@wysiwyg=1@-->


    das tuts dann schon eher -.-


    Zuletzt modifiziert von DaStIaC am 28.07.2008 - 23:49:01
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Hassmann Mitglied
    Registriert seit
    13.02.2008
    Beiträge
    1.591
    Beitragswertungen
    9 Beitragspunkte
    hab ich nid drauf geachtet sry^^
    Sub2Go.NET | Kostenlosen Webspace mit vielen features! Für Ilch-Forumsmitglieder doppelten Speicher!
    Mave1993.de Blog
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.354
    Beitragswertungen
    84 Beitragspunkte
    is ja nich schlimm zunge
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Schakal Mitglied
    Registriert seit
    18.07.2008
    Beiträge
    73
    Beitragswertungen
    0 Beitragspunkte
    @Hassmann
    Sry, aber ich benutze ilch erst seit 1 1/2 Wochen. Da kann ich eben nicht alles sofort 1:1 so umsetzen.
    In meinem Job programmiere ich nebenher noch an großen Projekten, daher weiß ich zu später Stund einfach nemme so ganz genau bei welchen Projekt wie was war.

    Das mit Prefix funktioniert nur dann, wenn ich eine install.php daraus mache oder eben im phpmyadmin in der DB direkt drin bin. Ansonsten wird der Table = Namen angelegt.

    @DaStIaC
    Thx lächeln
    Projekte:
    Userimport aus Joomla, Status: 75%, Beta-Phase
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    lookout Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    152
    Beitragswertungen
    0 Beitragspunkte
    Hi,

    Da der Sponsor keine Chance hat deine Daten zu überprüfen, könntest du auch jeden Monat eine Zufallszahl von 1000-10000 erzeugen lassen.

    Meiner Meinung nach ist der Sponsor einfach dumm, wenn er sowas verlangt.
    Zur Zeit geheimes Projekt am Laufen!
    Der Web Informant
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Schakal Mitglied
    Registriert seit
    18.07.2008
    Beiträge
    73
    Beitragswertungen
    0 Beitragspunkte
    Moin,
    tja....hast du schon mal den Satzbau "gegenseitiges Vertrauen" gehört oder Ehrlichkeit?!
    Genauso könnte unser Sponsor sagen:" Hey, du hast statt 500GB Traffic diesen Monat 1TB verbraucht!". Kann ich ihm auch nicht nachweißen...
    Außerdem wird ja jeder Tag mitgeloggt, wie du im PHP-Code sehen kannst.

    Was habe ich davon, wenn ich ihn bescheiße? Eigentlich nichts außer das er abspringt wenn er es mitbekommt.


    Zuletzt modifiziert von Schakal am 29.07.2008 - 11:05:02
    Projekte:
    Userimport aus Joomla, Status: 75%, Beta-Phase
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    lookout Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    152
    Beitragswertungen
    0 Beitragspunkte
    ZitatZitat geschrieben von Schakal

    Moin,
    tja....hast du schon mal den Satzbau "gegenseitiges Vertrauen" gehört oder Ehrlichkeit?!
    Genauso könnte unser Sponsor sagen:" Hey, du hast statt 500GB Traffic diesen Monat 1TB verbraucht!". Kann ich ihm auch nicht nachweißen...
    Außerdem wird ja jeder Tag mitgeloggt, wie du im PHP-Code sehen kannst.

    Was habe ich davon, wenn ich ihn bescheiße? Eigentlich nichts außer das er abspringt wenn er es mitbekommt.


    Zuletzt modifiziert von Schakal am 29.07.2008 - 11:05:02


    Hi,

    ja, dein Sponsor könnte das sagen. Wenn er dann keine detaillierten Logs hat, würdest du ihm auch nicht glauben. Wenn ich Sponsor wäre, würde ich zumindest eine Aufschlüsselung Seitenbesucher/Klickrate verlangen.

    War aber keinesfalls eine Kritik an deiner Arbeit oder an dem Verhältnis mit deinem Sponsor, ich wollte nur aufzeigen wieso eine "tägliche Zahl" mit Vorsicht zu genießen ist.

    lg
    Zur Zeit geheimes Projekt am Laufen!
    Der Web Informant
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    worldwideweb Mitglied
    Registriert seit
    30.09.2008
    Beiträge
    35
    Beitragswertungen
    1 Beitragspunkte
    Servus.

    Ich weiß zwar das der Thead schon bisschen älter ist, aber ich habe ein problem mit dem code von oben:

    Immer wenn ich einen banner meiner partnerbox anklicke, werde ich zwar an die alianzcounter.php weitergeleitet, alledings werde ich dann nach 1 sek. wieder zurück auf meine hauptseite geleitet....

    In der angelegten mySQL tabelle ist auch kein inhalt zu finden...

    Jemand eine lösung parat?

    MfG
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Pakko Mitglied
    Registriert seit
    25.02.2007
    Beiträge
    42
    Beitragswertungen
    0 Beitragspunkte
    Ist es heutzutage nicht standartmäßig möglich zu gucken woher ein Besucher kommt ? D.h. auf welcher Seite er vorher war ? o,0
    Selbst im Ilch-Adminbereich kann ich gucken wie User auf meine Seite gefunden haben (google, partnerpage etc)
    Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen.
    Allerdings ist sie nicht OpenSource, d.h. du sollst sie nicht verändern oder in veränderter Form veröffentlichen.
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    worldwideweb Mitglied
    Registriert seit
    30.09.2008
    Beiträge
    35
    Beitragswertungen
    1 Beitragspunkte
    ZitatZitat geschrieben von Pakko

    Ist es heutzutage nicht standartmäßig möglich zu gucken woher ein Besucher kommt ? D.h. auf welcher Seite er vorher war ? o,0
    Selbst im Ilch-Adminbereich kann ich gucken wie User auf meine Seite gefunden haben (google, partnerpage etc)


    Herkommen klar, aber ich will das ja garnicht wissen. Hier geht es ja um was anderes...
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten