PHP - odhlašování – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

PHP - odhlašování – PHP – Fórum – Programujte.comPHP - odhlašování – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Krakenusss
~ Anonymní uživatel
6 příspěvků
21. 9. 2013   #1
-
0
-

Jako školni projekt se snažim naprogramovat jednoduchy chat. Přihlašovani mam vyřešene tak že když se uživatel přihlasi tak se vytvoři zaznam v databazi a jeho login se uloži do session, pokud se odhlasi tak se resetuje session a zaznam se z databaze vymaže. Nevim ale jak vyřešit aby se zaznam z databaze vymazal i potom co uživatel vypne prohlížeč aniž by kliknul na odhlásit se. V tomhle připadě se sice vymaže session ale zaznam v databazi porad zustane a ostatni uzivatele ho uvidi online. jak by se tohle dalo vyřešit?

Nahlásit jako SPAM
IP: 178.72.252.–
Reklama
Reklama
Kit+11
Guru
21. 9. 2013   #2
-
0
-

#1 Krakenusss
Do databáze patří jen registrace uživatele. Přihlášení dej pouze do session.

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Krakenusss
~ Anonymní uživatel
6 příspěvků
21. 9. 2013   #3
-
0
-

#2 Kit
A jak v tom připadě uvidim ostatni prihlasene uživatele. Nechci sice vypadat jako blbec ale podobny pripad řešim poprve. Doteď jsem nikdy nedelal že by ostatni videli prihlasene uzivatele.

Nahlásit jako SPAM
IP: 178.72.252.–
Kit+11
Guru
21. 9. 2013   #4
-
0
-

#3 Krakenusss
Aha, to jsem nedomyslel.

Mělo by to jít přes AJAX. Zkus si přizpůsobit tohle torzo:

jQuery.ajax({url:"http://localhost:8888/test.php?", async:false})
Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Krakenusss
~ Anonymní uživatel
6 příspěvků
21. 9. 2013   #5
-
0
-

#4 Kit
Jestli mužu požadat  o nějaky popis co by to mělo konkretně udělat. Něco malo jsem v ajaxu schopen napsat, ale něco jako async: false jsem jese nevidel.

Nahlásit jako SPAM
IP: 178.72.252.–
Krakenusss
~ Anonymní uživatel
6 příspěvků
21. 9. 2013   #6
-
0
-

Co bych potreoboval tak nejakou ukazku toho jak zobrazit všechny přihlašene uživatele. pokud vim tak session funguje jenom v ramci prohližeče, nevim jak udělat aby informace z něj dostali i ostatni.

Nahlásit jako SPAM
IP: 178.72.252.–
Kit+11
Guru
21. 9. 2013   #7
-
0
-

#6 Krakenusss
Také jsem to dosud neřešil, ale dal jsem ti sem vygooglené řešení, abych tě navedl na stopu. Asi to budeš muset dál evidovat v databázi.

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Krakenusss
~ Anonymní uživatel
6 příspěvků
21. 9. 2013   #8
-
0
-

prostě jenom nechapu jak muzu zjistit ostatni prihlasene uzivatel. Kdyz se prihhlasim tak pokud sedi prihlasivaci udaje tak udelam tohle $_SESSION['login'] = $login; $_SESSION['prihlasen'] = true;

Ale takhle zjistim že jsem prihlaseny jenom ja, jak zjistim kdo jiny je jeste prihlaseny?

Nahlásit jako SPAM
IP: 178.72.252.–
Markaos0
Návštěvník
21. 9. 2013   #9
-
0
-

A co třeba mít tabulku "active", ve které budou ID, uživatelské jméno a čas poslední akce? Každých 5 sekund by jsi pomocí AJAXu načítal skript, který by aktualizoval čas poslední akce. Při výpisu by jsi kontroloval, jestli čas poslední akce není menší než aktuální čas - 8 sekund, a pokud ano, tak by jsi záznam smazal, jinak by jsi ho vypsal.

Nahlásit jako SPAM
IP: 37.48.39.–
Linux is like a wigwam
No gates, no windows, apache inside.
Kit+11
Guru
21. 9. 2013   #10
-
0
-

#9 Markaos
Takové periodické občerstvování pro více uživatelů spolehlivě zabije server. To už raději WebSocket, který jednoduše bude reagovat na uzavření kanálu a bude se pro chatování hodit mnohem lépe než cokoli jiného.

Jedinou nevýhodou tohoto řešení bude, že na freehostingu ho v nabídce nenajdeš.

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
yetty
~ Redaktor
+5
Super člen
22. 9. 2013   #11
-
0
-

#10 Kit
Myslím, že pokud jde o jednoduchý školní projekt, jak píše v prvním příspěvku, tak se "zabití serveru" bát nemusí... 

Nahlásit jako SPAM
IP: 46.23.51.–
Krakenusss
~ Anonymní uživatel
6 příspěvků
22. 9. 2013   #12
-
0
-

#9 Markaos
Díky. Tohle celkem funguje.

Nahlásit jako SPAM
IP: 178.72.252.–
tribalcz0
Super člen
26. 9. 2013   #13
-
0
-

Mno hele pokud máš přístup ke cronu tak to můžeš vyřešit skriptem který bude pouštěn cronem 


$time=Time();//zjistíme aktualní čas
$timeout=$time-300; od aktualního času odečteme 5 minut
$query= myslq_query("DELETE FROM `users` WHERE `users`.`time <  $timeout;");//pokud čas nesouhlasí uživatele smažeme


samozřejmě nesmíš zapomenout na aktualizaci casu aby to uživatele neodhlašovalo po 5 minutách po lognutí a pokud nemáš možnost cronu tak to lze bud řešit globálně tak že pokud kdokoliv z uživatelů načte stránku=>odešle novou zprávu tak se jako první provede script ktery odhlasí neaktivní uživatele a až poté odešle zprávu popřípadě vypíše alert ve kterém ohlásí že daný příjemce již není online pokud to nebude chat ktery umi vypisovat jen na ,,sklo´´

Nahlásit jako SPAM
IP: 178.209.131.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 44 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý