anonīms Posted February 6, 2008 Report Share Posted February 6, 2008 Varētu kāds ieteikt kā veidot online listi no reģistrētajiem lietotājiem. Šeit pat forumā bija veids ar N Y (Y - ielogojas UPDATE, n - logout UPDATE), bet ar to ir gļuks, kas aprakstīts tajā pašā tematā par to, ka cilvēkiem patīk spiest nevis 'Logout', bet gan vnk uzspiest "close" pārlūkprogrammai. Mēģināju šādi: if($logged_in) { $ielogosanas_laiks = time(); mysql_query("UPDATE lietotaji SET laiks_kad_iegaja='$ielogosanas_laiks' WHERE lietotajvards = $_SESSION[lietotajvards]"); } Doma bija tāda, ka šis fails ir inklūdots visās lapās un biju domājis, ka, ja kāds pāriet uz citu lapu, tad automātiski atkal updeitojas laiks, bet šis kods nestrādā. Lūdzu iesakat kādu veidu. Link to comment Share on other sites More sharing options...
Aleksejs Posted February 6, 2008 Report Share Posted February 6, 2008 Nu, vispār neredzu iemeslu, lai nestrādātu šis kods... Ja gribi izvirst, tad vari kaut kādu AJAX "heartbeat" skriptu taisīt, kas sūta datus, ka lietotājs vēl aizvien tur lapu vaļā. Link to comment Share on other sites More sharing options...
Paulinjsh Posted February 6, 2008 Report Share Posted February 6, 2008 kādu erroru izmet mysql_query? Link to comment Share on other sites More sharing options...
anonīms Posted February 6, 2008 Author Report Share Posted February 6, 2008 (edited) errors, nekāds nav. Vispār pārbaudīšu vēl db, to laiku, vai tas updeitojas Piev: datubāzē viss strādā (laiks nomainās) Edited February 6, 2008 by anonīms Link to comment Share on other sites More sharing options...
anonīms Posted February 8, 2008 Author Report Share Posted February 8, 2008 (edited) Atvainojos par double post, bet gribēju šo tematu pacelt augšā, jo neesmu vēl ticis tā arī skaidrībā ar to - kā to panākt? Pašlaik izmantoju if($logged_in) { $ielogosanas_laiks = time()+60*10; mysql_query("UPDATE lietotaji SET laiks_kad_iegaja='$ielogosanas_laiks' WHERE lietotajvards = $_SESSION[lietotajvards]"); } else {echo ""; } // ieslēdzot error reporting kļūdu nav un db laiks arī nomainas (update), bet pie online saraksta lietotājs pēc tām ielogošanās 10 min pazūd. Un izvadīšanai izmantoju <?php $laiks = time(); $lietotaji_online = mysql_query("SELECT id,lietotajvards FROM lietotaji WHERE laiks_kad_iegaja > $laiks "); while($lieton = mysql_fetch_array($lietotaji_online, MYSQL_NUM)) { echo "<a href='.../lietotajs/".$lieton['0']."'>".$lieton['1']."</a><br />"; } ?> AJAX man ir sveša lieta, tādēļ ar to neesmu gatavs veidot... Edited February 8, 2008 by anonīms Link to comment Share on other sites More sharing options...
black Posted February 8, 2008 Report Share Posted February 8, 2008 Es īsti nesaprotu - Tu to pirmo koda gabalu izsauc katru reizi, kad lietotājs veic kādu darbību, vai tikai tad, kad lietotājs ielogojas (spriežu pēc "$ielogosanas_laiks")? Link to comment Share on other sites More sharing options...
anonīms Posted February 8, 2008 Author Report Share Posted February 8, 2008 Nu lapas man ir veidotas pēc tāda tipa. <?php include "tmp/augsa.php"; ?> Te ir tā lapa, kas ir (Piemēram profils) <?php include "tmp/apaksa.php"; ?> Tas kods ir failā augsa. Un tad, kad piemēram dodas uz to profila lapu biju domājis, lai ir ielogošanās laika update Link to comment Share on other sites More sharing options...
black Posted February 8, 2008 Report Share Posted February 8, 2008 Negribi taisīt otrādi - nevis lietotāju tabulā glabāt nākotnes laiku, bet gan lietotāju saraksta kverijā prasīt par pagātni? 1) Lietotāju tabulā lauku nosauc par last_seen, tur pie katra requesta glabā time() (ja vispār gribi PHP laiku izmantot, nevis MySQL iebūvētos datumu tipus) 2) SELECT kverijā ievelc visus tos lietotājus, kur last_seen > $tenMinutesAgo, kur $tenMinutesAgo ir time()-60*10 Vienkārši būs mazliet vieglāk sekot līdzi lietotāju tabulai. Link to comment Share on other sites More sharing options...
anonīms Posted February 8, 2008 Author Report Share Posted February 8, 2008 Varētu kāds iedot linku uz manuāli par $_REQUEST[];. Nevaru dabūt... Link to comment Share on other sites More sharing options...
black Posted February 8, 2008 Report Share Posted February 8, 2008 Ieraksti Gūglē "PHP REQUEST" un spied uz pirmā linka. Link to comment Share on other sites More sharing options...
Recommended Posts