login  Naam:   Wachtwoord: 
Registreer je!
 Forum

dubbele account

Offline denbeckers - 12/08/2006 21:47
Avatar van denbeckersPHP interesse hey ik wil gaan controleren hoeveel mensen er via een bepaald ip inloggen dus ik dacht dit zo te doen

-Je logt in en je inlog ip wordt toegevoegd in de database (als het er nog niet instaat) anders scheiden door middel van , of ander teken
- in het admin panel moet ik een ip kunnen opgeven en dan tevoorschijn krijgen welke accounts er zijn ingelogd via dit ip.

is er iemand die me kan / wil helpen?

alvast bedankt

5 antwoorden

Gesponsorde links
Offline vinTage - 12/08/2006 21:49 (laatste wijziging 12/08/2006 21:50)
Avatar van vinTage Nieuw lid Op ip alleen loggen is niet slim, er zijn zat mensen die een dynamisch ip hebben en als er dan "geswitched" word kan persoon X zich niet reggen 

edit: oh je vraag verkeerd begrepen 
Offline denbeckers - 12/08/2006 21:56
Avatar van denbeckers PHP interesse ja dat weet ik maar ik heb geen idee hoe anders te controleren
Offline Gerard - 13/08/2006 01:47
Avatar van Gerard Ouwe rakker
Citaat:
-Je logt in en je inlog ip wordt toegevoegd in de database (als het er nog niet instaat) anders scheiden door middel van , of ander teken


Een relationele database is er juist om dit soort herhalende groepen te voorkomen. Het scheiden met een comma kan je voorkomen door deze gewoon in een aparte tabel te zetten.

Iedereen heeft hier natuurlijk zijn eigen methodes voor maar ik zal die van mij even uitleggen aan de hand van een stroomschema (klik).

Stel je hebt de onderstaande database layout om deze gegevens in op te slaan. Om het wat duidelijker te maken heb ik al enkele entries gemaakt.
  1. +----------+-------------+
  2. | userid | ipaddress |
  3. +----------+-------------+
  4. | 1 | 84.27.100.2 |
  5. | 1 | 127.0.0.1 |
  6. | 2 | 84.27.100.2 |
  7. | 2 | 98.45.22.83 |
  8. | 3 | 98.45.22.83 |
  9. +----------+-------------+


Aan de hand van ons stroomdiagram zal ik je even uitleggen wat ik hiermee wil bereiken. Als een gebruiker op de website binnenkomt en hij is ingelogd dan kan je de volgende query uitvoeren:
  1. <?php
  2. $qCheckCombination = mysql_query("SELECT COUNT(1)
  3. FROM iplog
  4. WHERE userid = " . intval($_SESSION['userid']) . "
  5. AND ipaddress = '" . mysql_real_escape_string($_SERVER['REMOTE_ADDR']) . "'");

Als we deze code uitgevoerd hebben kunnen we controleren of deze gebruiker dus al geregistreerd is met dat ip adres. Als dat niet zo is dan voeren we hem gewoon in.

Op deze manier kun je later enkele fijne queries doen:
1) Je kunt op basis van userid zien welke ip adressen bij een bepaalde user horen
2) Je kunt op basis van ip adressen zien welke users ingelogt zijn vanaf dat ip adres

Natuurlijk kun je dit systeem nog uitbreiden met timestamps wanneer iemand voor het laatst ingelogt is met dat ip adres e.d. maar dat laat ik compleet aan jou over.

Ik hoop dat de uitleg een beetje duidelijk was! 
Offline Wim - 13/08/2006 02:42
Avatar van Wim Crew algemeen Oh men I love proximus 

Het wordt tijd dan mensen minder spaarzaam worden op het aantal tables, en zoveel mogelijk dynamische dingen maken.... (statussen op websites, ...)
Te vaak kom ik in scripts tegen dat mensen een vast aantal statussen defineren (om even op dit voorbeeld te blijven). Lijkt me makkelijk op te lossen door een extra table 'permissions' oid aan te maken... Zo kan er later ook nog een status toegevoegd worden 

Een goed voorbeeld van dit soort tables is PHPBB. Kijk maar eens eventjes naar de database structurr van dit snelle (!) forum!
Offline denbeckers - 13/08/2006 08:49
Avatar van denbeckers PHP interesse oow ik snap het ongeveer
dus ik maak een nieuwe tabel aan
met userid en ip als velden (int en varchar)
dan bij het inloggen zoek ik of het ip al voorkomt
zoniet plaats ik heb er bij met ht juiste id / of naam
bedankt proximus
ik probeer het na mijn vakantie wel eens
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.184s