[php] "sessie" uit DB halen en controleren

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik "open" de sessie als volgt:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php  
session_start();  

$session=(session_id()); 
session_register("session"); 

include "config.php"; 

$db =  mysql_connect($db_host,$db_user,$db_pass
); 
mysql_select_db ($db_name) or die ("Cannot connect to database"); 

$query = "INSERT INTO jay_tracker(session) VALUES('$session')"; 
mysql_query($query); 

mysql_close($db); 
?> 


<html> 
<head> 
<title>jay wordt gestoord van sessies</title> 
................. 
........... 
<? .... ?> 
</body 
</html> 


ik controleer of sessie online is als volgt:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php  
session_start();  
?> 

<html> 
<head> 
<title>Untitled Document</title> 
</head> 

<body bgcolor="#FFFFFF" text="#000000"> 
<?php 
include "config.php"; 

$db =  mysql_connect($db_host,$db_user,$db_pass
); 
mysql_select_db ($db_name) or die ("Cannot connect to database"); 

$query = "SELECT * FROM jay_tracker ORDER BY id DESC LIMIT 20"; 
$result = mysql_query($query); 

while($r=mysql_fetch_array($result)) 
{   
$sessiontest=$r["session"]; 


if (session_is_registered("sessiontest"))  
{   
$sessie="online";  
} 
else 
{ 
$sessie="offline";  
} 
echo "status:. $sessie<p>"; 
} 
mysql_close($db); 
?> 
</body> 
</html> 

dit werkt niet,.... t probleem zit m, dacht ik zo, in t feit dat :
if (session_is_registered("sessiontest"))
opzoek gaat naar een sessie die globaal wordt geregistreerd, en wil nix te maken hebben met mn sessie die als string in mn DB werd geregistreerd, en nu als variabele uit mn DB getrokken wordt......

ik weet dus ongeveer wel waar t probleem ligt, maar weet bij god niet hoe t aan te pakken!.....

[ Voor 24% gewijzigd door Verwijderd op 23-11-2002 16:26 . Reden: spelfouten;) ]


Acties:
  • 0 Henk 'm!

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 16-08 06:44

CyberSnooP

^^^^ schrijft --->

Het doel van je tabel in de database is met niet duidelijk, en volgens mij is session_is_registered() geen standaard functie. Aangezien die functie wel van belang is zou het helpen als je hem er ook bij zou geven.

|_____vakje______|


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
CyberSnooP schreef op 23 november 2002 @ 17:10:
Het doel van je tabel in de database is met niet duidelijk, en volgens mij is session_is_registered() geen standaard functie. Aangezien die functie wel van belang is zou het helpen als je hem er ook bij zou geven.
in mn tabel (in DB) worden dingen als de naam, emailadres, gedrag op website (welke pagina's worden bezocht), ip, en datum vastgelegd....

in dezelfde tabel wordt ook de sessie_id vastegelegd

de bedoeling van dit alles is dat op mijn site kan laten zien welke users online zijn en hoeveel t er zijn

ik doe dit volgens onderstaand voorbeeld:
PHP:
1
2
3
4
5
registeren.php
<?php session_start(); 
$naam = "senjee";  
session_register("naam"); 
?> 

PHP:
1
2
3
4
5
6
uitlezen.php
<?php session_start(); 
if (!session_is_registered("naam")) { 
echo "sessie is niet geregistreerd!"; 
} 
?>  


dit werkt uiteraard zonder problemen, de moeilijkheid zit m in mijn geval, dat ik meerdere sessie's tegelijk wil controleren!

Acties:
  • 0 Henk 'm!

Verwijderd

CyberSnooP schreef op 23 november 2002 @ 17:10:
Het doel van je tabel in de database is met niet duidelijk, en volgens mij is session_is_registered() geen standaard functie.
session_is_registered() is wel een standaard functie:
http://www.php.net/manual...session-is-registered.php
Verwijderd schreef op 23 november 2002 @ 17:19:
PHP:
1
2
3
4
5
registeren.php
<?php session_start(); 
$naam = "senjee";  
session_register("naam"); 
?> 

dit werkt uiteraard zonder problemen, de moeilijkheid zit m in mijn geval, dat ik meerdere sessie's tegelijk wil controleren!
moet dat niet session_register($naam); zijn :?
Verwijderd schreef op 23 november 2002 @ 17:19:
[...]
in mn tabel (in DB) worden dingen als de naam, emailadres, gedrag op website (welke pagina's worden bezocht), ip, en datum vastgelegd....
[...]
dit werkt uiteraard zonder problemen, de moeilijkheid zit m in mijn geval, dat ik meerdere sessie's tegelijk wil controleren!
Ik neem aan dat alle users in je database staan...dan kun je hetvolgende doen:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
#mysql (neem ik aan) connectie enzo
while($record=mysql_fetch_object($query))
{
    if(!session_is_registerd($record->naam))
     {
        echo "$record->naam is er nu niet...<br>";
     }
     else
     {
       echo "$record->naam is er nu!<br>";   
     }
}

[ Voor 44% gewijzigd door Verwijderd op 23-11-2002 17:46 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
moet dat niet session_register($naam); zijn :?
nee, wanneer je een variabele in een sessie registreerd, moet je dat doen zonder $ te gebruiken in:
session_register();

http://www.php.net/manual/en/function.session-register.php
<?PHP
session_start();
$i = 2;
session_register('i');
....
..
.
Ik neem aan dat alle users in je database staan...dan kun je hetvolgende doen:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
#mysql (neem ik aan) connectie enzo
while($record=mysql_fetch_object($query))
{
    if(!session_is_registerd($record->naam))
     {
        echo "$record->naam is er nu niet...<br>";
     }
     else
     {
       echo "$record->naam is er nu!<br>";   
     }
}
t is niet zo dat mn users in een database staan, dat ze moeten inloggen ofzo,... maar dat ze geregistreerd worden en als ze hun naam willen achterlaten, dan worden wordt die naam ook nog meegenomen in de database......

uitgaande van mijn eerdere probeerselen werkt bovenstaande dus ook niet,....
session_is_registerd() wil naar mijn id een variabele die in een sessie geregistreerd staat hebben ipv een string uit een database