php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.03.2006, 11:48  
Erfahrener Benutzer
 
Registriert seit: 17.07.2005
Beiträge: 160
dethlef14
Standard Klicks zählen

Ich möchte auf einer bereits bestehenden HP was einbauen, damit Klicks eingeloggder User gezählt werden!
Es geht darum, dass die eingeloggden User Punkte für ihre Klicks erhalten! 1 Klick= 1 Punkt! Nun ja, über Sinn und Unsinn einer solchen Funktion kann man streiten, aber lassen wir das mal beiseite...

Nun ja, ich dachte zuerst daran, dass ich bei jedem Link eine Variable anhängen könnte die dann beim Laden der neuen Seite hochgezählt wird!

Das Überzeugt aber aus verschiedenen Gesichtspunkten absolut nicht
1. Sollten die Anzahl Klciks in ner DB gespeichert werden, wenn der User die Site wieder verlässt. Nun ja, mit JS theoretisch möglich, überzeugt mich aber nicht...

2. Auch bei einem Refresh wird die Anzahl Klicks um 1 erhöht -> nicht tragisch aber unschön.

3. Ist das ein heiden Aufwand bei allen Links die Klick-Variable anzuhängen...


Gibts eine gescheitere Variante sowas zu machen, als mit übergeben von Variablen? Evtl. mit JS?


Nun ja, ist halt sone Idee von mir, wenns nicht wirklich geht, dann könnt ich damit leben. Wäre super wenn mir vielleicht nen Anstoss geben könnte mit seiner Idee...
dethlef14 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.03.2006, 11:53  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Eine Idee von mir:

Ich weiss nicht wie dein Seitenaufbau aussieht. Aber zähl doch einfach in der Datenbank +1, wenn die Seite aufgerufen wird?

Beispiel: index.php?seite=xyz

einfach in die index.php prüfen ob der User eingelogt ist und wenn ja, DB Verbindung und dann +1 bei dem User bei Klicks.

Immer wenn er etwas klickt (also die Seite neu lädt) wird +1 gemacht

oder versteh ich da was falsch?

MFG
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline  
Alt 06.03.2006, 11:59  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

Problem dabei ist das mit jedem Klick ein connect kommen muss .. ??

aber wenn's nicht zu viel Performance frisst .. mach's doch so ..
M3g4Star ist offline  
Alt 06.03.2006, 12:01  
Erfahrener Benutzer
 
Registriert seit: 17.07.2005
Beiträge: 160
dethlef14
Standard

Nö du verstehst das schon richtig!

Danke für deinen Vorschlag, aber das gibt doch enormen Traffic mit der DB und das mit dem Refresh besteht immer noch...

Da würd ich des Traffic wegen, dann glaub ich meine Version vorziehen und erst mal in ner Variable hochzählen und nur einmal in DB schreiben...

Hat noch wer ne Idee?
dethlef14 ist offline  
Alt 06.03.2006, 12:12  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

*hm* ... naja "enorm" wegen einem Feld ist ja nun "übertrienben" ode rhast du so extreme Zugriffszahlen

Du kanns tja ausserdem checken ob der user in der Session schon auf der Seite war und somit das raufzählen deiner "Klickvariable" verhindern ...
M3g4Star ist offline  
Alt 06.03.2006, 12:21  
Erfahrener Benutzer
 
Registriert seit: 17.07.2005
Beiträge: 160
dethlef14
Standard

Zugriffszahlen sind täglich 6-Stellig! Nein Quatsch!

Naja, mit enorm meinte ich natürlich nicht das Traffic-Volumen, aber bei jedem Seitenzugriff was in der DB zu speichern ist doch schon etwas übertrieben... Aber werds dann wohl trotzdem mal so angehen!

By the way: Um wieviel verzögert denn eigentlich ein DB-Zugriff bei so wenig Daten den Script?

Ausser jemand hat natürlich noch nen Vorschlag...
dethlef14 ist offline  
Alt 06.03.2006, 13:27  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Das Hauptproblem besteht darin, dass du nicht weisst wann der User die Seite verlässt er kann Logout drücken, oder er kann sein X drücken.

Du kannst es auch so machen, dass du bei jedem Seitenaufruf eine Variable, nennen wir sie $klicker einfach immer um 1 erhöhst.

--> $klicker

Aber da des ja nichts bringt, weil bei jedem Seitenaufruf die Vorwerte verloren gehen, nehmen wir eine Session.

$_SESSION['klicker']++;

wenn jetzt der User kommt, klickt 5mal rum und klickt auf Logout, bekommt er die Punkte. Tut er jetzt aus Faulheit sein Browser einfach schliessen, bekommt er nix und hat Pech. Ist zwar nicht so Userfreundlich, aber immerhin nicht so "Traffic"-Steigend

damit er nicht durch F5 drücken oder Refresh schummelt, kannst ja noch nen Limit einfügen, wie alle 5 oder 10 Sekunden zählt es nur. Einfache If-Schleife mit der Zeit.

Wär eine zweite Variante und du brauchst nur 1 Datenbankzugriff. Mit der Zeit wärs zwar dann auch Schummelfreier, jedoch auch ungenauer, da manche Leute schnell klicken ok 5-10 Sekunden wär auch viel, mach 1-2 draus und ich denke, für deine Zwecke wärs ne gute Lösung. Zumindestens eine alternative, um Javascript nicht verwenden zu müssen.

MFG
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline  
Alt 06.03.2006, 15:18  
¯\_(ツ)_/¯
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.814
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Argh !!!

Also:
1. Klicks bei jedem Zugriff in der DB hochzählen ist der einzigste Weg der Rest ist Schwachsinn.
2. Du musst in der DB nur in der User Tabelle ein weiteres Feld hinzufügen.
3. Verbindest du dich doch sowieso jedes mal zur Datenbank da du anscheinend ein Loginsystem hast.
4. Eine Verbindung jedes mal herzustellen ist auf keinem Auge schlimm. Vorallem nicht bei deiner Seite! Fast jede Seite macht bei jedem Zugriff einen DB Zugriff. Allein das hier das Forum würde ohne MySQL garnicht funktionieren und die Performance geht eher durch den Webserver bei viele Usern runter als die vielen DB Zugriffe!
5. Was wirklich Zeit kostet wenn du riesen Mengen an Daten pro laden einer Seite mit der DB austauscht. Und damit meine ich nicht 1-100 Einträge sondern > 10 000.
6. Einfach nur ein einzigen Query bei einem Seitenaufruf verzögert dein Skript und eine nicht messbare Zeit.
7. Der Traffic hat da garnix mit zu tun! Du verbindest dich ja mit der DB aufm Server daher besteht ja garkein Austausch übers Internet! Außerdem ist der Datenaustausch beim hochzählen einer Zahl im gegensatz zum Laden der eigentlichen Seite mal so minimal das es wirklich nicht zu beachten ist.

Also alles andere als die Seitenzugriffe per MySQL zu zählen wäre Schwachsinn!
__________________
▇█▓▒░◕‿‿◕░▒▓█▇
Flor1an ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Counter zählt die Klicks nicht... areUkidding Datenbanken 10 19.03.2008 09:53
klicks auf ein bild zählen bona PHP Tipps 2006 17 16.03.2006 11:05
Radio Button durch Link klicks aktivieren CHRIS PHP Tipps 2005-2 8 14.09.2005 17:53
GD - Koordinaten eines Klicks?? PHP-Fortgeschrittene 6 18.07.2005 14:41
Klicks auf ein Objekt zählen und auslesen!? Beitragsarchiv 2 15.02.2005 16:27
Klicks auf ein Objekt zählen und auslesen!? PHP Tipps 2005 3 11.02.2005 13:16
Bildergalerie zählt ununterbrochen Klicks PHP Tipps 2004 0 28.09.2004 08:53
Wie erstelle ich eine Klick-Statistik? PHP Tipps 2004 1 10.08.2004 09:36
Image Map Klicks *serverseitig* (mit php) auswerten PHP Tipps 2004 4 17.07.2004 01:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
klicks auf link zählen, klicks in datenbank zählen, klicks zählen javascript user seite anzeigen, php klicks auf button zählen, php variable hochzählen bei klick auf link, php button hochzählen, anzahl der klicks auf ein bild zaehlen mit js, php variable mit klick hochzählen, php bild als button klicks zählen, javascript click zählen, ajax klicks zählen, $_session[\'klicker\'] ;, php klicks zählen session, php variable auf klick hochzählen, datenbankzugriffe zählen, klick zählen auf bild php, bild klick datenbank hochzählen, php hochzählen bei seitenaufruf, php tägliche klicks zählen, zugriffe auf hyperlink zählen

Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.