Nieuw lid |
|
$_SESSION['timeout']: een mktime()+300 seconden. Indien er dus langer dan 5 minuten niets gebeurt wordt de gebruiker (bij de eerste volgende pagina herlading natuurlijk) uitgelogd.
Doe je een aan niet met een SESSION
- maak een db aan met daarin gegevens:
Online
<id //auto_inc> <user> <key ='random_key 8cijfers en teken'> <tijd>
Voorbeeldje hiervan:
32 16 4G8xjiKl 3500971
33 0 fgyui8Ze 3500958
35 9 5pkqOJ8a 3500893
Elke keer bij het laden van de main:
mysql_query("UPDATE online SET tijd = "'.time();.'" WHERE key = '".mysql_real_escape_string($_COOKIE['die cookie']).'"");
$online_verval = time()-300; // 300 seconden = 5 minuten
mysql_query("DELETE FROM online WHERE tijd < '$online_verval'");
$online_verval = time()-300; // 300 seconden = 5 minuten mysql_query("DELETE FROM online WHERE tijd < '$online_verval'");
Zo doe je dat naar mijn mening toch. (dit zijn stukjes he)
Op deze manier kun je ook makkelijk kijken wie er online is. (je zag een 0 staan bij user, dat betekend dat het een gast is.
//
//
//
//
$_SESSION['ip_address']: deze is het ip-adress
Moet je ook niet in een SESSION STEKEN, bouw verder uit op die cookie.
Sql Table: users
<id = auto_inc> <name> <ip>
16 jezelf 88.88.88.89
Je kan zo simpel opvragen van het IP, NOOIt SESSION
//
//
//
//
$_SESSION['userID']: deze "encrypt" ik met base64_(de/en)code en met een wiskunde berekening (die in 2 richtingen bruikbaar is).
Ook uitbouwen verder uit die cookie
Als extra een functie voor je key
function sleutel($tekens = false)
{
if(!$tekens)
$tekens = 10;
$sleutel = "";
$array = array ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "v", "x", "y", "z", 1, 2, 3, 4, 5, 6, 7, 8, 9, 0);
for ($i = 0; $i < $tekens; $i++)
$sleutel .= $array[rand(0, 33)];
return strtoupper($sleutel);
}
function sleutel($tekens = false) { if(!$tekens) $tekens = 10; $sleutel = ""; $array = array ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "v", "x", "y", "z", 1, 2, 3, 4, 5, 6, 7, 8, 9, 0); for ($i = 0; $i < $tekens; $i++) $sleutel .= $array[rand(0, 33)]; }
Klinkt vaag maar stuur pm leg ik je alles deftig uit en help ik je wel even op weg. |