Tags
Forum
Artikler
Brugere
Stil spørgsmål
1
online
Login
Husk mig
Auto logud.
Tags:
php
Bruger #7093
@ 15.01.05 16:16
0
Så er Rasmus på banen igen med et nyt spg. (Dog et af de nemme) Hvilken kode skal man bruge for at brugeren automatisk bliver logget ud efter 2 timer ? Hvis brugeren ikke er aktiv
eller bare bliver logget ud efter 2 timer
// Rasmus Kjeldsen
6
svar postet i denne tråd vises herunder
2
indlæg har modtaget i alt
6
karma
Sorter efter stemmer
Sorter efter dato
3
Bruger #285
@ 15.01.05 16:29
524
Hvis du fx bruger sessions til at styre login, bliver de automatisk logget ud, hvis de ikke er aktive i x antal minutter (mener det er typisk 15 min).
mikl-dk | udv@mikl.dk
3
Bruger #3491
@ 15.01.05 17:28
315
Hver gang en bruger, der er logget ind, skifter side. Sætter du en session med tidspunktet han sidst har været aktiv:
if((time()-$_SESSION['lastActive'] <7200) && session_is_registered("brugernavn") AND ("kodeord")) //7200 er 2 timer i sekunder
$_SESSION['lastActive'] = time();
else
{
unset($_SESSION['brugernavn']);
unset($_SESSION['kodeord']);
}
Den checker, først om forskellen mellem den nuværende tid og tidspunktet han sidst var aktiv er mindre end 2 timer.
Hvis det er mindre, så opdatere den $_SESSION['lastActive'] til den nuværende tid.
Hvis der er gået mere end 2 timer så udføre den noget kode der logger brugeren ud.
Du skal også lige huske at indsætte:
$_SESSION['lastActive'] = time();
Når man logger ind.
Hilsen
Martin Dybdal (Dybber)
0
Bruger #7093
@ 15.01.05 16:34
0
login.php
<?
session_start();
include "config.php";
?>
<html>
<body bgcolor="#5B7B8F">
<head>
<LINK HREF="style.css" REL=STYLESHEET>
</head>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<link href="" type="text/css" rel="stylesheet">
</head>
<?
if($_POST[action] == 'login') {
if($_POST[brugernavn] == NULL OR $_POST[kodeord] == NULL) {
} else {
$s_tjekbruger = mysql_query("SELECT brugernavn, kodeord FROM community WHERE brugernavn LIKE '$_POST[brugernavn]' AND kodeord = '$_POST[kodeord]'");
$tjekbruger = mysql_fetch_array($s_tjekbruger);
if($tjekbruger[brugernavn] == NULL) {
print "<script language=\\"javascript\\">parent.location.replace('?side=login&login=nej');</script>";
} else {
$_SESSION[brugernavn] = $_POST[brugernavn];
$_SESSION[kodeord] = $_POST[kodeord];
$tid = date('h:i:s');
mysql_query("UPDATE community SET online = 'ja', logintid = '$tid' WHERE brugernavn = '$_SESSION[brugernavn]'") or die(mysql_error());
$fejl == 'nej';
print "<script language=\\"javascript\\">parent.location.replace('loggetind.php');</script>";
}
}
} else {
}
?>
<?
if($_GET[login] == "nej")
{
print "<b>Forkert kodeord eller brugernavn!</b>";
}
?>
<form action="login.php" method="POST">
<input type="hidden" name="action" value="login">
Brugernavn<br>
<input type="text" class="input" name="brugernavn" size="20" maxlength="20"><br>
Kodeord<br>
<input type="password" class="input" name="kodeord" size="20" maxlength="20"><br>
<br>
<input type="submit" class="input" value="Login" name="login">
</form>
</body>
</html>¨
loggetind.php
<?
session_start();
if (session_is_registered("brugernavn") AND ("kodeord")) {
include "config.php";
$hent = mysql_query("SELECT * FROM community WHERE brugernavn = '$_SESSION[brugernavn]'") or die(mysql_error());
$vis = mysql_fetch_array($hent);
?>
<body bgcolor="#5B7B8F">
<head>
<LINK HREF="style.css" REL=STYLESHEET>
</head>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<link href="" type="text/css" rel="stylesheet">
</head>
<body>
<?
if($vis[status] == "admin")
{
print "<div align=center>Du er logget ind som: $_SESSION[brugernavn]Din status på www.specks.dk er: $vis[status]<hr color=#000000 size=1><a href=http://www.specks.dk/admin/admin/site.php>Gå til community</a>";
}
if($vis[status] == "chef reporter")
{
print "<div align=center>Du er logget ind som: $_SESSION[brugernavn]Din status på www.specks.dk er: $vis[status]<hr color=#000000 size=1><a href=http://www.specks.dk/admin/chefreporter/site.php>Gå til community</a>";
}
if($vis[status] == "reporter")
{
print "<div align=center>Du er logget ind som: $_SESSION[brugernavn]Din status på www.specks.dk er: $vis[status]<hr color=#000000 size=1><a href=http://www.specks.dk/admin/reporter/site.php>Gå til community</a>";
}
if($vis[status] == "prøve reporter")
{
print "<div align=center>Du er logget ind som: $_SESSION[brugernavn]Din status på www.specks.dk er: $vis[status]<hr color=#000000 size=1><a href=http://www.specks.dk/admin/provereporter/site.php>Gå til community</a>";
}
if($vis[status] == "normal")
{
print "<div align=center>Du er logget ind som: $_SESSION[brugernavn]Din status på www.specks.dk er: $vis[status]<hr color=#000000 size=1><a href=http://www.specks.dk/admin/normal/site.php>Gå til community</a>";
}
if($vis[status] == "vip")
{
print "<div align=center>Du er logget ind som: $_SESSION[brugernavn]Din status på www.specks.dk er: $vis[status]<hr color=#000000 size=1><a href=http://www.specks.dk/admin/vip/site.php>Gå til community</a>";
}
?>
</body>
</html>
<?
}else{
print "Du er ikke logget ind.";
}
?>
Den logger ikke automatisk ud !!! SLET IKKE!
0
Bruger #7093
@ 15.01.05 18:26
0
Altså den kode if((time()-$_SESSION['lastActive'] = time() <7200) && session_is_registered("brugernavn") AND ("kodeord")) //7200 er 2 timer i sekunder
$_SESSION['lastActive'] = time();
else
{
unset($_SESSION['brugernavn']);
unset($_SESSION['kodeord']);
}
skal indsættes på alle sider ?
0
Bruger #3491
@ 15.01.05 21:11
315
På alle de sider hvor du vil checke om brugeren har været aktiv.
Hilsen
Martin Dybdal (Dybber)
0
Bruger #2737
@ 18.01.05 09:00
61
[...]
skal indsættes på alle sider ?
Nej, du har vel organiseret det i nogle klasser eller i det mindste nogle funktioner, så du kan nøjes med at skrive det et enkelt sted?
--
Thus, I conclude
Karma barometer (30 dage)
Modtaget
Givet
X
Favorit hos
Forum tråde
Artikler
Tilføj til dine favorit tags
Fjern fra dine favorit tags