Autor Zpráva
mORb
Profil *
no mam vytorenu tabulku online v ktorej sa do hodnoty stat updatne "a" ak sa uzivatel prihlasi a ak sa odhlasi updatne sa na "n". A na zaklade toho vypisujem uzivatelov ktori su online... Lenze atribut stat sa updatne na "n" len vtedy ak sa uzivatel odhlasi ale ked vypne prehliadac bez logoutu stale vystupuje ako online... timeoutom som to moc riesit nechcel lebo neviem ako ho pouzit:) a za druhe stranka mala sluzit aj ako taky chat takze by bolo dobre keby to mohol mat uzivatel otvorene ako chat okno a nemusel by dlhsiu dobu na nom robit...ale ked uz nic tak budem rad ked mi pomozete aj s tym timeoutom...dikes
DJ Miky
Profil
mORb
Timeoutem... Do DB si ukládej i poslední akce těch uživatelů a pak to kontroluj, třeba if($posledniakce>time()-$timeout) a pokud to bude true, odhlaš uživatele...
mORb
Profil *
ako ako mam do webu ulozit ten script na tu polednu akciu? tak aby vedel ze napr. uzivatel pohol mysou, presiel na dalsiu stranku toho webu atd...? to vobec netusim
DJ Miky
Profil
mORb
Psal jsi, že to bude sloužit jako chat - tzn. při každém obnovení stránky si ulož aktuální čas k uživateli do DB.
mORb
Profil *
:) no lenze ako zistim cas kedy sa stranka obnovila...:) niektore veci este neviem...:)
karbon
Profil *
třeba date('U');
DJ Miky
Profil
Nebo time(), jak už jsem psal.
mORb
Profil *
jaj no ved jasne...:D dikes chalani!
mORb
Profil *
a ten timeout ma aku hodnotu? z toho if($posledniakce>time()-$timeout) ako ju nastavim? aby sa mi napr. odhalis po pol hodine...
mORb
Profil *
som to spravil takto na zaciatok indexu som dal:

<?

include "./stat.php";
$cas=time();
$timeout=60000;
mysql_query("Update onlinestat set kontrola='$cas' where id='$idusr'");
echo MySQL_error();
@$select=mysql_query("Select*from onlinestat where id='$idusr'");
$s=mysql_fetch_array($select);
$kontrola=$s["kontrola"];
if($kontrola>$cas-$timeout)
{
include "./logout.php";
}
?>

logout script je

<?

include("stat.php");
$datum=date("d.m.Y");
$cas=date("H:i:s");
mysql_query("UPDATE onlinestat set stat='n' where id='$idusr'");
echo MySQL_error();
mysql_query("UPDATE onlinestat set last_date='$datum' where id='$idusr'");
echo MySQL_error();
mysql_query("UPDATE onlinestat set last_time='$cas' where id='$idusr'");
echo MySQL_error();
if($pohl=="muz")
{
session_start();
session_unregister("db_administration_login");
session_unregister("db_administration_password");
Header("Location: ./index.php?chyba=".URLEncode("Bol si odhlásený"));
}
else
{
session_start();
session_unregister("db_administration_login");
session_unregister("db_administration_password");
Header("Location: ./index.php?chyba=".URLEncode("Bola si odhlásená"));
}
?>

lenze teraz ked sa prihlasim hned ma to aj odlhasi a nevykona sa krok mysql_query("UPDATE onlinestat set stat='n' where id='$idusr'"); teda ukazuje uzivatela ze je online... pomozete pliz?
mORb
Profil *
no s tym timeoutom som to uz vyrisil ale mam problem ze ked to uzivatela automaticky odlhasi tak sa nevykonaju kroky zo scriptu logout.php a to:
mysql_query("UPDATE onlinestat set stat='n' where id='$idusr'");
a teda uzivatela to ukazuje ako ze je stale online...
mORb
Profil *
takze uz som si to opravil vsetko funguje... teda po urcitom case to uzivatela odhlasi... ale ked zavrie prehliadac tak sa nic nedeje... Mozzila: Ak vypnem prehliadac a po dlhsej dobe znova spustim tak az vtedy ho to prehodi na offline...medzitym je stale on... a IE nespravi nic ak vypnem prehliadac..a ani ked ho znovu spustim......takto vyzera index.php:

[pre]<?
include "./stat.php";
if($result){
mysql_query("UPDATE onlinestat set stat='a' where id='$idusr'"); //a - uzivatel je prihaseny
$cas=time();
$timeout=60*15;
@$select=mysql_query("Select*from onlinestat where id='$idusr'");
$s=mysql_fetch_array($select);
$kontrola=$s["kontrola"];
if($cas>$kontrola+$timeout)
{
mysql_query("Update onlinestat set kontrola='9999999999' where id='$idusr'");
include "./logout.php";
}
else{
mysql_query("Update onlinestat set kontrola='$cas' where id='$idusr'");
}
}
?>[/pre]
takto vyzera logout.php:

[pre]<?
include("stat.php");
$datum=date("d.m.Y");
$cas=date("H:i:s");
mysql_query("UPDATE onlinestat set stat='n' where id='$idusr'"); //n - uzivatel bol zmeneny na offline
echo MySQL_error();
mysql_query("UPDATE onlinestat set last_date='$datum' where id='$idusr'");
echo MySQL_error();
mysql_query("UPDATE onlinestat set last_time='$cas' where id='$idusr'");
echo MySQL_error();
if($pohl=="muz")
{
session_start();
session_unregister("db_administration_login");
session_unregister("db_administration_password");
Header("Location: ./index.php?chyba=".URLEncode("Bol si odhlásený"));
}
else
{
session_start();
session_unregister("db_administration_login");
session_unregister("db_administration_password");
Header("Location: ./index.php?chyba=".URLEncode("Bola si odhlásená"));
}
?>[/pre]
Toto téma je uzamčeno. Odpověď nelze zaslat.