login  Naam:   Wachtwoord: 
Registreer je!
 Forum

last_visit script doet echt raar komt er niet uit

Offline rza - 18/01/2006 20:07 (laatste wijziging 18/01/2006 20:09)
Avatar van rzaNieuw lid heb in de tabel

visitid
naam = naam van profiel eigenaar
visit = haalt de ingelogde gebruikersnaam uit een session
visitdate

oke alles ziet er als volgt uit: let niet op de vreemde variablen...

  1. <?
  2.  
  3. $lastvisit = mysql_query("UPDATE last_visit SET visitdate = NOW() WHERE naam = '". $row['username'] ."'");
  4.  
  5. if (mysql_affected_rows() == "0") // checken hoeveel rijen geupdate zijn
  6.  
  7. {
  8.  
  9. $lastvisit = mysql_query("INSERT INTO last_visit(naam, visit, visitdate) VALUES ('".$row[username]."', '".$username."', NOW())");
  10.  
  11. }
  12.  
  13.  
  14. $vresult = mysql_query("SELECT visit FROM last_visit WHERE naam='".$row[username]."' ORDER BY visitdate DESC LIMIT 10");
  15. while($vrow = mysql_fetch_array($vresult))
  16. {
  17.  
  18. $vrow[visit] = substr($vrow[visit], 0, 20).'...';
  19. echo "$vrow[visit]<br>";
  20. }
  21.  
  22. ?>


het geeft alleen 1 klote probleem

als ik inlog als jan en ik ga naar de profielen van

pro01
pro02
pro03

dan laat hij op elke profiel de naam JAN achter.... wanneer ik uitlog en bijv als piet inlog en ik ga naar

pro01
pro02
pro03

dan zet hij dat niet in de db,,, hij update alleen de tijd van jan.... dus dan zie je op elk van die profielen de naam jan staan en geen piet.......

maar ga ik naar andere profielen bijv

pro03
pro04

dan zie je daar WEL weer piet staan..... en als ik dan weer als jan inlog en naar pro 03 en 04 ga dan doet hij precies hetzelfde update hij alleen de tijd in de tabel... maar zet hij jan er niet bij........

maar dat komt omdat ik steeds update time date doe,, maar als ik gewoon elke keer die query uitvoer (dan werkt het wel) wanneer ik dan een page steeds refresh maakt hij in de db 10000 keer mijn naam met een bv. jantje aan... hoe los ik dit alles op ?

Ontani edit:
  1. [code]
- tags gebruiken aub[/code]

3 antwoorden

Gesponsorde links
Offline kokx - 18/01/2006 20:16 (laatste wijziging 18/01/2006 20:17)
Avatar van kokx Onbekend ik denk dat de array $vrow[visit] dit moet zijn: $vrow['visit']
Offline rza - 18/01/2006 20:23
Avatar van rza Nieuw lid nee kijk dat is het niet het script werkt gewoon ik zoek alleen een oplossing voor het feit dat hij het niet steeds update

want als bijv jantje pietje en kees op de proefiel van rza gaan

dan zet hij niet 3 apparte velden bv.

naam=rza visit=jantje visitdate=.....
naam=rza visit=pietje " "
naam=rza visit=kees ""

maar dan update hij steeds de veld van de eerste persoon die op die profiel is geweest met een andere date en maakt hij geen nieuwe aan
Offline kokx - 18/01/2006 20:34 (laatste wijziging 18/01/2006 20:42)
Avatar van kokx Onbekend dan moet je selecteren op ip.
ik denk dat het zo moet werken: (heb het wel even naar mijn script style omgezet)
  1. <?php
  2. $ip = $_SERVER['REMOTE_ADDR'];
  3. $lastvisit = mysql_query("UPDATE last_visit SET visitdate = NOW() WHERE naam = '". $row['username'] ."' AND ip = '". $ip ."'");
  4. if (mysql_affected_rows() == "0"){
  5. $lastvisit = mysql_query("INSERT INTO last_visit(naam, visit, visitdate, ip) VALUES ('".$row[username]."', '".$username."', NOW(), '". $ip ."')");
  6. }
  7. $vresult = mysql_query("SELECT visit FROM last_visit WHERE naam='".$row[username]."' AND ip='". $ip ."' ORDER BY visitdate DESC LIMIT 10");
  8. while($vrow = mysql_fetch_array($vresult)){
  9. $vrow[visit] = substr($vrow[visit], 0, 20).'...';
  10. echo "$vrow[visit]<br>";
  11. }
  12. ?>

je moet in de tabel last_visit wel even het veld ip toevoegen (VARCHAR(50))

hier krijg je geen namen. wel het ip van de computer.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.208s