2017-03-28 1 views
0

Angenommen, ich habe 2 Benutzer A und B versuchen, von demselben PC in meine Website einloggen. A ist derzeit angemeldet. B verwendet denselben PC und öffnet eine neue Registerkarte und versucht sich einzuloggen. (A hat sich noch nicht ausgeloggt) Wie verhindere ich, dass B sich anmeldet, wenn A sich abmeldet?Mehrere Login in PHP-Sitzungen

Ich habe PHP-Sitzungen verwendet, die in wieder A verhindert, dass die Anmeldung, ohne sich abzumelden aber nicht B stoppen Anmeldung

+1

Sie meinen, Benutzer B öffnet eine neue Registerkarte auf genau dem gleichen Browser, dass Benutzer A angemeldet ist? Das scheint kein schrecklich realistisches Szenario zu sein. – pvg

+0

beide A und B verwenden den gleichen PC das ist, was ich meinte –

+0

Wenn Sie konfiguriert, wenn Ihre Sitzung etwas hat, wird es auf das Dashboard oder eine andere Art umleiten, anstatt auf die Anmeldeseite zu verweisen, ich denke B kann sich nicht anmelden, außer A's Konto wurde ausgeloggt – Swellar

Antwort

1

Wenn Sie B den Zugriff auf die Login-Seite verhindern möchten, dann können Sie dies versuchen:

if(isset($_SESSION['logged'])){ 
    if($_SESSION['logged'] == true){ 
     header('Location:otherPage.php'); 
     exit; 
    } else { 
     header('Location:login.php'); 
     exit; 
    } 
} 

den obigen Code zu verwenden, müssen Sie den Wertmachenbis true nach erfolgreicher Anmeldung, dann false nach Abmelden, oder Sie können die Sitzung zerstören

+0

@Downvoter Können Sie den Grund erklären? – Swellar

+0

das funktioniert nicht immer noch erlaubt Login und BTW Sie verpasst ein ')' in der if-Anweisung –

+0

@Cheth Kille Haben Sie dies auf der Anmeldeseite? – Swellar

0

Check Session-Variablen (die nach erfolgreicher Anmeldung eingestellt):.

if ($_SESSION["username"] == "") 
{ 
    // allow to login, check login credentials here 
    } 
    // else ignore login attempt 
+0

Woher kam '$ _GET [" action "]'? Und warum brauchst du es noch? – Swellar

+0

"Teil von url => login.php? Action = login" wie ich schrieb – diavolic

+0

Was ist der Zweck? Sie können nur überprüfen, ob eine Session-Variable etwas hat oder nicht – Swellar

Verwandte Themen