Toon posts:

[MYSQL + PHP + Sessies] Controleren of iemand online is

Pagina: 1
Acties:

Verwijderd

Topicstarter
Goeden avond. ik zit met een probleem...
Ik heb een berichten systeem gemaakt en nu wil ik dat als iemand wat post (onder bijv id 10) dat hij dan controleerd of er een sessie actief is met dat id nummer en dan een plaatje geeft online of offline net als hier (met die hoofden).

Ik heb al iets geprobeert maar het wil niet werken hij blijft op offlined staan wat wordt er gedaan als je iets post onder een naam:

Verschillende zaker worden opgeslagen waaronder de username waarmee hij ingelogt is op het moment van posten de tijd en datum en het ip nummer dat is allemaal niet van belang het enige wat van belang met dit stukje script is is in prenciepe de username.. ik haal dmv de username het id uit de database per blokje dat door iemand gepost is dit werkt ook want ik heb het getest door de variable "$posters" te echoen

nu zit ik alleen met het volgende probleem en snap ook niet hoe ik dit kan oplossen. ik wil controleren of een bepaald id is geregistreerd in de sessions dit doe ik middels een if session registered bool maar hij wil het niet goed controleren lijkt het wel hij blijft het offline plaatje weergeven je ziet in het script ook de variable $plaatje staan dit echo ik in het gedeelte van het script dat de berichten laat zien. het online laten weergeven doet het echter wel want ik heb het getest met de algemene inlog variable (daar bedoel ik mee die wordt vastgesteld bij het inloggen..) en daar laat hij ALLE (dus niet alleen van de gene die ingelogt is maar ook de andere plaatjes oplichten) ipv alleen van de gene die ingelogt is (1 persoon dus)..

Oke ik denk dat ik nu mijn probleem voldoende heb uitgelegt ik zal nu het script geven het is een gedeelte uit mijn script het gedeelte waar hij alles controleerd let aub niet op de qeury namen die zijn imho nu even niet belangrijk dit omdat ik ze alleen hier gebruik (in dit script op mijn site)

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$select2 = "SELECT * FROM notes WHERE memberid = '$id' ORDER BY id ASC";
$query2 = mysql_query($select2);
while ($list = mysql_fetch_object($query2)) {
 $poster = "$list->poster";
$select7 = "SELECT memberid FROM members WHERE gebruikersnaam = '$poster'";
$query7 = mysql_query($select7);
while ($list2 = mysql_fetch_object($query7)) {
$posters = "$list2->memberid";
if(session_is_registered('posters'){
$plaatje = "useronline.gif";
}
else {
$plaatje = "useroffline.gif";
}


ik hoop dat iemand zo vriendelijk zou willen zijn mij te helpen ik ben al (zonder jokken 4 uur bezig het goed te krijgen maar het wil maar niet lukken :( :( :'(

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 31-08 15:46

mulder

ik spuug op het trottoir

Denk dat je link tussen de user die inlogt (db id) + z'n id (=ip?) nog moet leggen

oogjes open, snaveltjes dicht


Verwijderd

Topicstarter
Don Facundo schreef op 09 september 2002 @ 21:24:
Denk dat je link tussen de user die inlogt (db id) + z'n id (=ip?) nog moet leggen
dat wordt hier al gedaan denk ik?

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 31-08 15:46

mulder

ik spuug op het trottoir

Ik ben abuis geloof ik.

oogjes open, snaveltjes dicht


  • baggah
  • Registratie: December 2000
  • Laatst online: 28-08 22:47
Volgens mij gaat dit nooit werken omdat session_is_registered(); alleen kijkt naar de huidige sessie. En dus niet naar alle mogelijke actieve sessies.

Verwijderd

Topicstarter
Baggah schreef op 09 september 2002 @ 21:45:
Volgens mij gaat dit nooit werken omdat session_is_registered(); alleen kijkt naar de huidige sessie. En dus niet naar alle mogelijke actieve sessies.
ja dat heb ik gemerkt ja :) is er een mogelijkheid om alle sessies te controleren?

  • SAiKO
  • Registratie: September 2000
  • Laatst online: 12-05 12:34

SAiKO

Grote Smurf

Wil je nou in principe hetzelfde als hier op GoT wordt gedaan? Door deze -> Afbeeldingslocatie: http://images.tweakers.net/forum/templates/got/images/icons/online.gif <- plaatjes??

Verwijderd

Topicstarter
SAiKO schreef op 09 september 2002 @ 22:18:
Wil je nou in principe hetzelfde als hier op GoT wordt gedaan? Door deze -> [afbeelding] <- plaatjes??
ja

  • SAiKO
  • Registratie: September 2000
  • Laatst online: 12-05 12:34

SAiKO

Grote Smurf

Lijkt me dat dat gewoon hetzelfde werkt als die viewonline scripts zoals op menig forum wordt gebruikt. Kijk gewoon eens naar de viewtopic.php van phpbb ofzo..

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Het is niet heel moeilijk. Voor iedere gebruiker hou je bij wat z'n laatste pageview was. Als die tijd langer dan een kwartier is, dan is 'ie niet online...

Localhost, sweet localhost


Verwijderd

als je slim bent gooi je ip + timestamp erin en doe je timestamp-300 selecteer je gewoon alles wat binnen die timestamp-300 komt.. simpel denken is meestal de oplossing he

Verwijderd

Topicstarter
Verwijderd schreef op 10 september 2002 @ 12:43:
als je slim bent gooi je ip + timestamp erin en doe je timestamp-300 selecteer je gewoon alles wat binnen die timestamp-300 komt.. simpel denken is meestal de oplossing he
ja maar het is de bedoeling dat hij het PER users doet kijken of hij/zij online is snap je? :)

dus niet WIE er online is maar of hij online is (via een hoofdje)

  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

Verwijderd schreef op 10 september 2002 @ 14:41:
[...]
ja maar het is de bedoeling dat hij het PER users doet kijken of hij/zij online is snap je? :)

dus niet WIE er online is maar of hij online is (via een hoofdje)
1) Hou van iedere user z'n laatste pageview bij in je db
2) Haal je berichten op met iets als
code:
1
2
3
4
5
6
7
8
9
10
11
12
SELECT
    n.ID,
    n.Content,
    n.Timestamp,
    m.Name,
    m.LastVisit
FROM
    notes AS n
INNER JOIN
    members AS m ON m.ID = n.MemberID
ORDER BY
    n.Timestamp ASC

3) bepaal aan de hand van je LastVisit of een member 'online' is...

On track

Pagina: 1