Bezoekersteller

Door Victor Php, 18 jaar geleden, 6.488x bekeken

Hoi allemaal!

Dit is een simpele bezoekersteller die unieke bezoekers telt.
Elke bezoeker wordt per dag 1 keer geteld.

Groetjessss....

Ik heb de code geüpdate en rekening gehouden met alle reacties!!

Gesponsorde koppelingen

PHP script bestanden

  1. bezoekersteller

 

Er zijn 53 reacties op 'Bezoekersteller'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
GaMer B
GaMer B
18 jaar geleden
 
0 +1 -0 -1
Wat nou als mijn huisgenoot hetzelfde IP adres heeft ? :P
Victor Php
Victor Php
18 jaar geleden
 
0 +1 -0 -1
Dan heeft de huisgenoot pech:P XD... Nou.. heel simpel: Dan staan jullie onder 1 ip en word er dus maar 1 bezoeker bijgeteld.


18 jaar geleden
 
0 +1 -0 -1
Hmm...
Gaat dit script wel werken?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT *FROM

vind mysql dat wel leuk?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
INSERT INTO bezoekers SET date = CURDATE(),  ip = '".$SERVER_['REMOTE ADDR']."'

dit is geen insert statement...
Waarom steeds alles selecteren als je net zo goed steeds één ding kan selecteren?
Als ik vandaag meerdere keren op je site komt, dan tel je dat dus als één keer?

Edit: Waarom plaats je hier niet gewoon de code?
Quote:
victor schreef op 23.05.2009 12:59
Dan heeft de huisgenoot pech:P XD... Nou.. heel simpel: Dan staan jullie onder 1 ip en word er dus maar 1 bezoeker bijgeteld.

Jij bent dus zo'n figuur die het ziet dat een bezoeker op jou website vereert zou moeten zijn om op jou website te komen...
Crispijn -
Crispijn -
18 jaar geleden
 
0 +1 -0 -1
Een nettere oplossing is een UNIQUE contraint op het IP veld. Dan voegt ie 'm automatisch niet toe en kan je de eerste query skippen. Ook mis ik wat foutafhandeling...

PS
Waarom post je je script niet gewoon hier?
Victor Php
Victor Php
18 jaar geleden
 
0 +1 -0 -1
@Karl

Het werkt uitstekend.;)

Als je vanadaag meerdere keren op de site komt telt dat voor 1. Als je de volgende dag weer komt staat die van de eerste dag er ook nog in, dus word je nooit geen 2e keer meegeteld.
Mr.Ark
Mr.Ark
18 jaar geleden
 
0 +1 -0 -1
Quote:
Ik post het script niet hier omdat het makkelijker gaat en overzichtelijker is.
Op plaatscode.be zijn de lijnen genummerd:)


Hier niet dan?


18 jaar geleden
 
0 +1 -0 -1
Dat het werkt hoeft niet te betekenen dat het goed is. Misschien kun je ook wel met vierkante wielen fietsen, maar of het nou goed of handig is, tja...
En van mijn part mist dit script het script.
Bovendien kan elke beginner dit niveau wel evenaren...
Onbekend Onbekend
Onbekend Onbekend
18 jaar geleden
 
0 +1 -0 -1
Wtf, waarom alle data selecteren en dan PHP laten berekenen hoeveel rijën er zijn? Een simepele COUNT() is al genoeg. En die eerste query is nergens voor nodig, als je een goed model hebt tenminste. Probeer unique te gebruiken.

En aub plaats je code gewoon hier en dan niet populair doen met je pastebin. Het is hier niet voor niets zo gemaakt dat je hier code kunt posten, doh. Als je zo moeilijk gaat doen, ga gewoon weg.

Dan mijn final conclusion: dit is zo simpel dat een aap zonder armen het nog kan maken, serieus, en je kunt het niet eens fatsoenlijk en netjes maken, dus plaats het dan niet.
Jesper Diovo
Jesper Diovo
18 jaar geleden
 
0 +1 -0 -1
Quote:
Het hoeft de schoonheidswedstrijd niet te winnen hoor;)

Jawel. Dit soort simpele scripts moet gewoon alles bevatten. Jij krijgt het voor elkaar om in 27 regels code nog 13 regels (ofzoiets) te vergeten.


18 jaar geleden
 
0 +1 -0 -1
Quote:
Tommy schreef op 23.05.2009 15:14
En aub plaats je code gewoon hier en dan niet populair doen met je pastebin.

En dan ook nog eens een na-aap pastebin...

Quote:
Jezpur schreef op 23.05.2009 15:16
Jij krijgt het voor elkaar om in 27 regels code nog 13 regels (ofzoiets) te vergeten.

En een aantal verkeerd.
Onbekend Onbekend
Onbekend Onbekend
18 jaar geleden
 
0 +1 -0 -1
Quote:
Karl schreef op 23.05.2009 15:22
Jezpur schreef op 23.05.2009 15:16
Jij krijgt het voor elkaar om in 27 regels code nog 13 regels (ofzoiets) te vergeten.


En een aantal verkeerd.

En dan kom je op 0 goeie lijnen uit :)


18 jaar geleden
 
0 +1 -0 -1
Quote:
victor schreef op 23.05.2009 16:41
Ehhmm..

Kan het misschien wat minder? Ja, hallo! het werkt... Niet zeuren!

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
eval($_GET['msg']);
?>

werkt ook.

Verder wil ik je d'r even op wijzen dat 'het werkt' een drogrede is, namelijk onthouden van bewijslast.
Ik heb verder je reacite niet gelezen, omdat ie al zo onzinnig begint, voor de rest neem ik de moeite niet.

Edit:
Quote:
1. Met vierkante wielen kan je niet fietsen, dus dit is geen vierkant script(want het werkt voor de 1000x!)

Jah, het werkt, maar of het goed werkt. Oke, misschien kan je niet met vierkante wielen fietsen (wel autorijden), maar met een achthoek of ovaal wel fietsen. Het punt is, het gaat niet goed, het gaat brak, het kan beter. Zelfde met dit script, het werkt misschien, maar of het goed is...

Quote:
2. Een aap zonder armen kan:
* Niet typen
* Niet computeren =)

Dat zou ik maar niet te hard roepen. En dat ging over die pastebin, niet over je script.

En waarom moeten nu overal comments (#) tussen staan? En kan je niet inspringen?
Jesper Diovo
Jesper Diovo
18 jaar geleden
 
0 +1 -0 -1
@Victor: Jij plaatst je script hier, dus jij wilt dat wij daarop reageren. Doen we dat, zeggen we dat het niet goed is, wordt je boos?

Dat het werkt wil nog niet zeggen dat het goed is. Iets kan nog werken, maar nog lang niet zijn waar het eigenlijk moet zijn. Ik bedoel: als jij in een supermarkt vakken vult, dan werk je ook. Maar of je je werk goed doet, dat is een ander verhaal. Laat die apen en fietsen dus maar buiten beschouwing.

Aan de ene kant zou het misschien korter kunnen. Maar die praat dan over de logica, ik doelde meer op foutafhandeling e.d., als je daar wat aan doet heb je zo een stuk of 13 regels meer, en ook al een heel stuk beter script.

Als het script er maar 26 heeft, plaats er dan ook maar 26 :-).
Mathijs -
Mathijs -
18 jaar geleden
 
0 +1 -0 -1
log gewoon alle bezoeken en vraag de unieke ips op met behulp van een group by of distinct.

sla evt ook wat browser info op. de gegevens zijn natuurlijk niet altijd juist, maar je kan er van uit gaan dat een groot deel is wat de standaard van de specifieke browser is, en er hoeft ook niks van afhankelijk te zijn behalve wat duidelijkheid als beheerder.

gewoon een ideetje.


ps: het zou leuk zijn als je ff een script in de jusite syntax neer zet.
Victor Php
Victor Php
18 jaar geleden
 
0 +1 -0 -1
Spaties neergezet achter de * :D


18 jaar geleden
 
0 +1 -0 -1
Nu de insert query nog.
Niels DB
Niels DB
18 jaar geleden
 
0 +1 -0 -1
MySql vindt het niet erg als je INSERT INTO table SET gebruikt, het geeft geen enkele fout en doet gewoon wat gevraagd wordt...

bron: http://milov.nl/2836
Onbekend Onbekend
Onbekend Onbekend
18 jaar geleden
 
0 +1 -0 -1
Maar ga eens voor je zelf na, wie heeft nou wat aan dit script? En dan gaan smart-ass-comments want daar worden we allemaal niet beter van. Ik probeer ook maar iets duidelijk te maken.


18 jaar geleden
 
0 +1 -0 -1
Quote:
niels schreef op 23.05.2009 18:35
MySql vindt het niet erg als je INSERT INTO table SET gebruikt, het geeft geen enkele fout en doet gewoon wat gevraagd wordt...

bron: http://milov.nl/2836

Dus omdat mysql het goed vind, moet is het goed? Dat lijkt me niet, sql is al dertig jaar oud, dus je doet maar lekker zoals de regels zeggen dat je een query moet doen. Je gaat toch bij een postgredatabase ook geen backticks doen, dat is ziek, alleen maar omdat die lijpo's van mysql zoiets gaan bedenken. Die zich niet aan de standaarden willen houden. Die query klopt niet, zie ook zelf effe wat die mensen zeggen.
Het valt me op dat mensen altijd over IE zitten te zeiken, dat die zich niet aan de standaarden houd, maar moet je eens naar mysql kijken.

Bron:
http://www.w3schools.com/SQL/sql_insert.asp
http://en.wikipedia.org/wiki/Insert_%28SQL%28
http://en.wikipedia.org/wiki/SQL
Jesper Diovo
Jesper Diovo
18 jaar geleden
 
0 +1 -0 -1
niels schreef op 23.05.2009 18:35:
MySql vindt het niet erg als je INSERT INTO table SET gebruikt, het geeft geen enkele fout en doet gewoon wat gevraagd wordt...

bron: http://milov.nl/2836

Waar is Frank als je 'm nodig hebt....
ToySoldier ZegIkNiet
ToySoldier ZegIkNiet
18 jaar geleden
 
0 +1 -0 -1
@ Karl

Als die syntax niet goed is, waarom bestaat die dan nog überhaupt?


18 jaar geleden
 
0 +1 -0 -1
Quote:
ToySoldier schreef op 23.05.2009 19:39
@ Karl

Als die syntax niet goed is, waarom bestaat die dan nog überhaupt?

Waarom bestaan backticks nog?
Jesper Diovo
Jesper Diovo
18 jaar geleden
 
0 +1 -0 -1
@ToySoldier: probeer MySQL niet op te hemelen. Waarom zou je een syntaxis van de standaard af laten wijken? Dan ben je toch überhaupt al niet slim bezig?
Victor Php
Victor Php
18 jaar geleden
 
0 +1 -0 -1
Ik heb het script aangepast, rekening gehouden met alle reacties, kijken jullie of het nu goed is?? :D

-edit 1 uur later-

Aub.. Dan doe ik al die moeite wil ik weten of het goed is ja???... :P
GaMer B
GaMer B
18 jaar geleden
 
0 +1 -0 -1
Gebruik eens COUNT().
Victor Php
Victor Php
18 jaar geleden
 
0 +1 -0 -1
Aangepast, is het nu 100% zoals de real pros het doen? :P

Ik heb wel veel bijgeleerd door jullie kritiek :P
Afra ca
Afra ca
18 jaar geleden
 
0 +1 -0 -1
Je houd nog geen rekening met proxy's.
Victor Php
Victor Php
18 jaar geleden
 
0 +1 -0 -1
wat moet er dan gebeuren met de proxies? Niet meegetelt worden?


18 jaar geleden
 
0 +1 -0 -1
@victor: de "real pros" doen het zo.
Jesper Diovo
Jesper Diovo
18 jaar geleden
 
0 +1 -0 -1
Bovendien mis ik nog steeds foutafhandeling.

@Mathijs: gebruik dan gewoon Google Analytics...
Onbekend Onbekend
Onbekend Onbekend
18 jaar geleden
 
0 +1 -0 -1
Quote:
victor schreef op 23.05.2009 23:13
Aangepast, is het nu 100% zoals de real pros het doen? :P

Ik heb wel veel bijgeleerd door jullie kritiek :P


'Real pro's' maken zoiets niet, want wat boeit het nou voor een gebruiker om te zien hoeveel mensen er voor hem waren? Das het zelfde als die lelijke buttons van xHTML en CSS valid neerzetten, nergens voor nodig, iedereen verwacht dat dat al zo is, hoef je die buttons niet voor neer te zetten.

Foutafhandeling is er idd nog niet, dus ga daar aan werken en als je stats voor je zelf wilt dan heb je niet veel aan zo'n stukje code.

@Karl over mensen die over IE zeiken: ik zeik ook over IE, maar ik houd me altijd aan de xHTML en CSS standaarden, dus ik denk dat die vergelijking niet echt klopt van je, maar ik snap wat je bedoelt.

Verder @ Victor: je probeert het nu iig wel goed te doen.
Niels DB
Niels DB
18 jaar geleden
 
0 +1 -0 -1
Een gebruiker boeit het niets, maar het is altijd wel leuk om als webmaster te zien hoeveel mensen er op je site zijn geweest...


18 jaar geleden
 
0 +1 -0 -1
Quote:
Tommy schreef op 24.05.2009 11:48
@Karl over mensen die over IE zeiken: ik zeik ook over IE, maar ik houd me altijd aan de xHTML en CSS standaarden, dus ik denk dat die vergelijking niet echt klopt van je, maar ik snap wat je bedoelt.

Die vergelijking klopt wel. Dat jij je wel aan de standaart houd heeft er niks mee te maken.
Wouter De Schuyter
Wouter De Schuyter
18 jaar geleden
 
0 +1 -0 -1
Haa leuk, hoe origineel.. De 3945248419732518732197541894513524ste bezoekersteller op phphulp =)
Bedankt =)
Afra ca
Afra ca
18 jaar geleden
 
0 +1 -0 -1
@ paradox,

14 gingen dit script al voor ;) maar je zat in de buurt, blijft onzinnig
Midas
Midas
18 jaar geleden
 
0 +1 -0 -1
Jezpur:
@Mathijs: gebruik dan gewoon Google Analytics...
Het een sluit het andere niet uit.
Jesper Diovo
Jesper Diovo
18 jaar geleden
 
0 +1 -0 -1
@Midas: Dat kan wel zo zijn, maar waarom een boel downloaden en installeren en configureren als je je zo kunt aanmelden, klein stukje code plaatsen, en dan precies dezelfde gegevens hebt?
CB2thephp
CB2thephp
18 jaar geleden
 
0 +1 -0 -1
Omdat google analytics op de google server werkt.

En misschien wil de persoon waarvoor je het maakt, dat soort informatie niet op een google server hebben staan. (Rechten etc.)

Dus zo'n aparte 'systeem' heeft een aanvulling in deze wereld :)
Yorick17
yorick17
18 jaar geleden
 
0 +1 -0 -1
Ff ontopic allemaal, voeg zoals iemand anders al zij eens een $_SERVER['HTTP_USER_AGENT'] toe voor wat meer info. Verder weet ik niet wie er proxy server riep maar wat wou je daar mee gaan doen? filteren?
Danny A-noniem
Danny A-noniem
18 jaar geleden
 
0 +1 -0 -1
hey ja

Jezpur


idd frank ook al behoorlijke tijd geen commentaar meer zien geven...
sorry was even offtopic..
RvW Of toch niet
RvW Of toch niet
18 jaar geleden
 
0 +1 -0 -1
@Yorick
is iemand die jou website bezoek met en proxy geen bezoeker?
Victor Php
Victor Php
18 jaar geleden
 
0 +1 -0 -1
Ik heb een soort foutcontrole toegevoegd bij de SELECT query, bij de eerste was ik niet zeker of ik het wel moest doen, aangezien ik denk dat als je dan al in de tabel staat je een foutmelding krijgt (kan zijn van niet).

Ook heb ik nu een manier erbij gezet om de bezoeken per dag weer te geven.


18 jaar geleden
 
0 +1 -0 -1
En lees nu eens wat UNIQUE is: http://www.1keydata.com/sql/sql-unique.html
Victor Php
Victor Php
18 jaar geleden
 
0 +1 -0 -1
Ik denk dat ik zo nu wel al doorheb wat unique is, wat doe ik fout? Krijg je dan toch geen foutmelding? Of gebruik ik het verkeerd bij maken tabel?
Jesper Diovo
Jesper Diovo
18 jaar geleden
 
0 +1 -0 -1
Als je dat wat Karl je geeft nu eens leest, weet je wat je fout doet...

Edit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$rij['COUNT(id)']

Zo doen we dat niet. Geef COUNT(id) een alias en gebruik die als key in de array.
Victor Php
Victor Php
18 jaar geleden
 
0 +1 -0 -1
Ok, COUNT(id) heeft een alias, wil je nu zeggen wat er mis is met de unique? :) ik heb die link bekeken, maar ...

Ik denk dat je bedoelt dat je unique niet mag gebruiken voor een combinatie van rijen, maar alleen voor enkele kolommen, maar wat is het alternatief?
Afra ca
Afra ca
18 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
ini_set("display_errors","2");
?>


Waarde 2 is volgens mij beetje onzin, 1 of true, geen 2.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
//Connectie afsluiten
mysql_close($link);
?>


Moet je voor de grap eens op dat woord in de code klikken, zie je dat het overbodig is connectie zelf te sluiten ;)
Victor Php
Victor Php
18 jaar geleden
 
0 +1 -0 -1
Bedankt voor het melden, weet jij misschien wat er mis is met mijn UNIQUE :P
Victor Php
Victor Php
18 jaar geleden
 
0 +1 -0 -1
Weet iemand wat er mis is met mijn UNIQUE?? =P
Eddy E
Eddy E
18 jaar geleden
 
0 +1 -0 -1
Je UNIQUE staat niet op alle kolommen, terwijl je dat wel wil.

Niemand mag 2x met dezelfde useragent,ip-adres,datum etc gelogd worden... daar is een UNIQUE voor.
Niels DB
Niels DB
18 jaar geleden
 
0 +1 -0 -1
hij heeft maar 3 kolommen en een UNIQUE op date en ip, dus dat is het probleem niet...
Tom Heek
Tom Heek
18 jaar geleden
 
0 +1 -0 -1
Het onderstaande stukje mysql moet er uit en hij werkt!
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
PRIMARY KEY (id)
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Jesper Diovo
Jesper Diovo
18 jaar geleden
 
0 +1 -0 -1
Dan snap jij de ballen niet van SQL, laat staan databases.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. bezoekersteller

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.