[doch nicht gelöst] Counter für klick auf Link
|
|
Catzenjaeger |
Geschrieben am 19. Mai 2016 18:16:54
|
|
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 Download 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. Mai 2016 19:53:52 |
Information: |
PHP Version: Nicht ausgewählt • MySQL Version: Nicht ausgewählt • PHP-Fusion: Nicht ausgewählt |
|
|
21Matze |
Geschrieben am 19. Mai 2016 21:02:18
|
|
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. |
Information: |
PHP Version: 8.2.x • MySQL Version: 8.0 • PHP-Fusion: HP-Fusion |
|
|
Catzenjaeger |
Geschrieben am 20. Mai 2016 06:44:03
|
|
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. Mai 2016 06:59:47 |
Information: |
PHP Version: Nicht ausgewählt • MySQL Version: Nicht ausgewählt • PHP-Fusion: Nicht ausgewählt |
|
|
Wemi |
Geschrieben am 20. Mai 2016 08:20:48
|
|
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
|
Information: |
PHP Version: Nicht ausgewählt • MySQL Version: Nicht ausgewählt • PHP-Fusion: Nicht ausgewählt |
|
|
Catzenjaeger |
Geschrieben am 20. Mai 2016 08:24:36
|
|
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 http://aliencollectors.com/site/infusions/figurelib/figure.php?cat_id=3 habe ich das an der falschen Stelle eingebaut? Im Anhang nochmal die ganze figure.php
Catzenjaeger hat folgende Datei angehängt:
|
Information: |
PHP Version: Nicht ausgewählt • MySQL Version: Nicht ausgewählt • PHP-Fusion: Nicht ausgewählt |
|
|
Wemi |
Geschrieben am 20. Mai 2016 09:07:57
|
|
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
|
Information: |
PHP Version: Nicht ausgewählt • MySQL Version: Nicht ausgewählt • PHP-Fusion: Nicht ausgewählt |
|
|
Catzenjaeger |
Geschrieben am 20. Mai 2016 09:16:42
|
|
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. |
Information: |
PHP Version: Nicht ausgewählt • MySQL Version: Nicht ausgewählt • PHP-Fusion: Nicht ausgewählt |
|
|
Wemi |
Geschrieben am 20. Mai 2016 09:25:19
|
|
Dann müsste dein Code zwischen den beiden Zeilen stehen. Code Download Code $data = dbarray($result); "Es geht hier um die Frage, ob die Menschheit ohne Religion besser dastünde. Und ich sagte: ja" Ben Moore
|
Information: |
PHP Version: Nicht ausgewählt • MySQL Version: Nicht ausgewählt • PHP-Fusion: Nicht ausgewählt |
|
|
Catzenjaeger |
Geschrieben am 20. Mai 2016 09:53:13
|
|
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. Mai 2016 10:03:53 |
Information: |
PHP Version: Nicht ausgewählt • MySQL Version: Nicht ausgewählt • PHP-Fusion: Nicht ausgewählt |
|
|
Wemi |
Geschrieben am 20. Mai 2016 10:05:39
|
|
Ja, nach 21 redirects wurde das Script abgebrochen. Lösche einfach folgende Zeile Code Download 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
|
Information: |
PHP Version: Nicht ausgewählt • MySQL Version: Nicht ausgewählt • PHP-Fusion: Nicht ausgewählt |
|
Springe ins Forum: |