Goedemiddag allen,

We hebben een systeem met collega's waarbij de administratoren een gebruiker kunnen uitloggen, dit werkt ook prima, enkel werkt het uitloggen pas nadat een collega dan weer op een link klikt..

Hoe kunnen we dit doormiddel van (polling?) of iets het zo maken dat wanneer een administrator klikt op uitloggen dat de gebruiker per direct doorgestuurd gaat worden richting login pagina?

Op dit moment halen we de online status van gebruiker op, wanneer deze op nee staat gaat gebruiker naar login pagina, dit is echter alleen wanneer gebruiker klikt naar iets anders, we zouden dit dus graag willen dat op moment wij klikken op uitloggen dat gebruiker ook echt een tel later bijvoorbeeld weg is?

Alvast bedankt!
Hoe sla je nu op of iemand ingelogd is? Sessies? Cookies?
Nee, het gaat echt via de database, daar hebben we een tabel of gebruiker online is, wanneer status nee is dan gaat hij bij het klikken naar een andere pagina uitgelogd worden.
Je moet ook bij de gebruiker zelf moeten registreren dat die ingelogd is. Want hoe identificeer je nu een gebruiker? Hopelijk niet op IP-adres.
Om de x seconden een Ajax-request uitvoeren. Als de gebruiker is uitgelogd door een administrator dan de Session clearen en doorsturen naar de loginpagina.
Gebruiker moet inloggen met gebruikersnaam en wachtwoord, waarna bij correct de online status op ja komt te staan.

Wanneer wij dan een gebruiker uitloggen komt zijn/haar online status op nee te staan.

Vervolgens halen we dit momenteel met een query uit de database dat wanneer die gebruiker de online status nee heeft dat diegene uitgelogd moet worden, dit zal gebruiker pas merken nadat die klikt op een andere pagina.

Dit willen wij dus graag zo hebben dat dit live zal gebeuren, wij klikken op uitloggen bij gebruiker en gebruiker moet gelijk weg zijn zonder te hoeven klikken
Wat Ozzie zegt.

Maar hoe blijft een gebruiker dan ingelogd? Je hebt minimaal een sessie of cookie nodig.
Doormiddel van de online status uit de database...

Wanneer online status ja is mag gebruiker blijven, wanneer deze nee is zal gebruiker uitgelogd worden... Dit is ook wat er wel werkt alleen wanneer gebruiker niet ergens anders heen klikt krijgt gebruiker de melding niet te zien (is dan wel al uitgelogd), dit zal pas komen na de klik.

Waar het nu dus omgaat... hoe kan ik dit inderdaad met een request doen per aantal seconden...


$sql = "SELECT online_status from gebruikers where gebruikersnaam='".$_SESSION['username']."'";
$result= $db->query($sql);
$row = $result->fetch_object();
if($row->online_status == "nee"){
header("Location: login.php?pagina=uitgelogd");
}


Dit is wat er nu momenteel gaande is dus wat ik al aangaf, na een klik merken ze dit pas..

Dit wil ik dus graag 'live' zien, dat wij klikken op uitloggen, gebruiker vliegt dan gelijk na inlogpagina
Je gebruikt sessies dus. Via polling met AJAX kan je hem dan naar de uitlogpagina sturen, waar de sessie wordt verwijderd.
En dat is juist wat ik vraag hoe :)

Reageren