[doch nicht gelöst] Counter für klick auf Link
|
|
Catzenjaeger |
Geschrieben am 19.05.2016 um 20:16
|
![]() Senior Mitglied ![]() Beiträge: 341 Registriert am: 23.09.14 |
Brauche mal kurz einen Denkanstoß: ich würde gerne in meine Figurendatenbank einen Counter einbauen wie oft eine Figur angeklickt wurde. Die Spalte in der Tabelle habe ich angelegt Zitat: figure_clickcount int(10) unsigned NOT NULL DEFAULT '0', speichern will ich das so: Zitat: $clickresult = dbquery("UPDATE ".DB_FIGURE." SET figure_clickcount=figure_clickcount+1 WHERE figure_id='".$_GET['figure_id']."'"); wenn ich das ganze nun einbaue gehts noch nicht ... es muss glaub ich hier an dies Stelle rein.. weiss es aber nicht so genau. Das müsste der Link sein wo die Figur angeklickt wird Code echo "<a href='".FUSION_SELF."?figure_id=".$data['figure_id']."' class=''>\n<img src='".($data['figure_image'] ? IMAGES_FIGURE.$data['figure_image'] : INFUSIONS.$inf_folder."/images/default.png")."' alt='".trimlink($data['figure_title'],15)."' title='".trimlink($data['figure_title'],15)."' style='border:0px;max-height:100px;max-width:100px' />"; Bearbeitet von Catzenjaeger am 20.05.2016 um 21:53 |
|
|
21Matze |
Geschrieben am 19.05.2016 um 23:02
|
![]() Jung Mitglied ![]() Beiträge: 38 Registriert am: 13.11.13 |
so wie dein code ist kann nicht klappen schaue dir mal die weblink.php oder downloads.php im tutorialsystem da sind counter funktion eingebaut da ich nicht weiß wie datenbank struktur der infusion ist weiß ich nicht wie ich den code schreiben soll so das es geht. |
|
|
Catzenjaeger |
Geschrieben am 20.05.2016 um 08:44
|
![]() Senior Mitglied ![]() Beiträge: 341 Registriert am: 23.09.14 |
hmn habemal versucht das nachzubauen allerdigns gehts noch nicht Zitat: //CLICKCOUNT FÜR FIGUR if (isset($_GET['figure_id']) && isnum($_GET['figure_id'])) { $res = 0; $data = dbarray(dbquery("SELECT figure_clickcount FROM ".DB_FIGURE." WHERE figure_id='".intval($_GET['figure_id'])."'")); if (checkgroup($cdata['figure_cat_access'])) { $res = 1; dbquery("UPDATE ".DB_FIGURE." SET figure_clickcount=figure_clickcount+1 WHERE figure_id='".intval($_GET['figure_id'])."'"); redirect($data['figure_url']); } else { redirect(FUSION_SELF); } } cdata ist schon weiter oben im file in verwendugn daran sollte es nicht leigen. Hier der Orgninalcode aus der weblink.php Zitat: if (isset($_GET['weblink_id']) && isnum($_GET['weblink_id'])) {
$res = 0; $data = dbarray(dbquery("SELECT weblink_url,weblink_cat, weblink_visibility FROM ".DB_WEBLINKS." WHERE weblink_id='".intval($_GET['weblink_id'])."'")); if (checkgroup($data['weblink_visibility'])) { $res = 1; dbquery("UPDATE ".DB_WEBLINKS." SET weblink_count=weblink_count+1 WHERE weblink_id='".intval($_GET['weblink_id'])."'"); redirect($data['weblink_url']); } else { redirect(FUSION_SELF); } Bearbeitet von Catzenjaeger am 20.05.2016 um 08:59 |
|
|
Wemi |
Geschrieben am 20.05.2016 um 10:20
|
![]() Senior Mitglied ![]() Beiträge: 235 Registriert am: 13.02.14 |
Und was geht nicht? Fehlermeldung? Hast du denn auch die Berechtigung, diese Figurenkategorie zu sehen? (Also in der Gruppe) Wie sieht die Internetadresse in der Adresszeile des Browsers aus, wenn du auf den Link geklickt hast? "Es geht hier um die Frage, ob die Menschheit ohne Religion besser dastünde. Und ich sagte: ja" Ben Moore
|
|
|
Catzenjaeger |
Geschrieben am 20.05.2016 um 10:24
|
![]() Senior Mitglied ![]() Beiträge: 341 Registriert am: 23.09.14 |
Und was geht nicht? -> wird nichts in die DB geschrieben - feld ist leer Fehlermeldung? --> keine fehlermeldung Hast du denn auch die Berechtigung, diese Figurenkategorie zu sehen? (Also in der Gruppe)--> ja alles ist sichtbar Wie sieht die Internetadresse in der Adresszeile des Browsers aus, wenn du auf den Link geklickt hast? --> hmnn so wie immer ![]() habe ich das an der falschen Stelle eingebaut? Im Anhang nochmal die ganze figure.php
Catzenjaeger hat folgende Datei angehängt:
|
|
|
Wemi |
Geschrieben am 20.05.2016 um 11:07
|
![]() Senior Mitglied ![]() Beiträge: 235 Registriert am: 13.02.14 |
Deinem Link fehlt etwas. Und zwar &action=download Erst dann kann er zählen, natürlich auch nur wenn er die Datei auch Downloaden darf. "Es geht hier um die Frage, ob die Menschheit ohne Religion besser dastünde. Und ich sagte: ja" Ben Moore
|
|
|
Catzenjaeger |
Geschrieben am 20.05.2016 um 11:16
|
![]() Senior Mitglied ![]() Beiträge: 341 Registriert am: 23.09.14 |
na download will ich ja nicht sondern nur wie oft einen figur angeklickt wurde. Ist das machbar? Was müsste dann geändert werden? Ich gin davon aus , dass die Weblis auch so gezählt werden wie oft die geklickt werden. Genau so wollte ich das für die figuren. |
|
|
Wemi |
Geschrieben am 20.05.2016 um 11:25
|
![]() Senior Mitglied ![]() Beiträge: 235 Registriert am: 13.02.14 |
Dann müsste dein Code zwischen den beiden Zeilen stehen. Code $data = dbarray($result); "Es geht hier um die Frage, ob die Menschheit ohne Religion besser dastünde. Und ich sagte: ja" Ben Moore
|
|
|
Catzenjaeger |
Geschrieben am 20.05.2016 um 11:53
|
![]() Senior Mitglied ![]() Beiträge: 341 Registriert am: 23.09.14 |
also ich habs in Zeile 74 eingefügt und bekomme jetzt das hier: Zitat: Fehler: Umleitungsfehler Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann. Dieses Problem kann manchmal auftreten, wenn Cookies deaktiviert oder abgelehnt werden. aber ich sehe gerade ... es sind 21 klicks in der DB. Aso soeichert er wohl was uPDATE. Wenn ichdas redirect raushaue gehts wohl Zitat: if (isset($_GET['figure_id']) && isnum($_GET['figure_id'])) { $res = 0; $data = dbarray(dbquery("SELECT figure_clickcount FROM ".DB_FIGURE." WHERE figure_id='".intval($_GET['figure_id'])."'")); if (checkgroup($cdata['figure_cat_access'])) { $res = 1; dbquery("UPDATE ".DB_FIGURE." SET figure_clickcount=figure_clickcount+1 WHERE figure_id='".intval($_GET['figure_id'])."'"); //redirect($data['figure_url']); } else { redirect(FUSION_SELF); } } ist das prgrammiertechnisch so ok oder muss ich das noch ändern? Bearbeitet von Catzenjaeger am 20.05.2016 um 12:03 |
|
|
Wemi |
Geschrieben am 20.05.2016 um 12:05
|
![]() Senior Mitglied ![]() Beiträge: 235 Registriert am: 13.02.14 |
Ja, nach 21 redirects wurde das Script abgebrochen. Lösche einfach folgende Zeile Code redirect($data['figure_url']); Denn damit setzt du ja eine Schleife, die nie beendet werden kann, weil er ja immer wieder da hin gelangt. "Es geht hier um die Frage, ob die Menschheit ohne Religion besser dastünde. Und ich sagte: ja" Ben Moore
|
|
Springe ins Forum: |