Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Licznik online
Ember
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 13.04.2006

Ostrzeżenie: (0%)
-----


Witam. Wiem, że było już tysiące takich tematów, jednak nifgdzie nie znalazłem tego co potrzebuję. Jeżeli gdzieś taki był to sorry, usńcie temat.
Otóż napisałem skrypt na logowanie oparty na sesjach. I chciałbym teraz, abty wyświetlało mi ilość niezalogowanych użytkowników przebywających na stronie, oraz loginy tych zalogowanych. Zupełnie nie wiem, jak się za to zabrać. Będe wdzięczzny, jeżeli jakoś mi pomożecie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
angerthor
post
Post #2





Grupa: Zarejestrowani
Postów: 73
Pomógł: 0
Dołączył: 13.02.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Po pierwsze dodawaj jakieś chociaż drobne komentarze do skryptu bo tak jest on bardzo nieczytelny.

Spójrz na mój stary skrypt dotyczący tego samego (ten skrypt "na początku" nawet jest dobry, tylko psuje sie przy wiekszej ilosc userow on-line, przez to, ze ma jakis blad przy zapisywaniu do pliku; dlatego nie chcialo mi sie juz go poprawiac i przerzucilem sie na sql, ) , ale mysle, ze zasada jak to ma wygladac jest jasno przedstawiona

  1. <?php
  2.  
  3. $nazwaPliku="katalog/log.txt";
  4. $minutnik=5; // Ilosc minut, przez ktore user bedzie wpisany
  5. $minutnik=$minutnik*60;
  6. $ip=$_SERVER['REMOTE_ADDR'];  // Ip usera
  7. $czas=time();
  8.  
  9. $numerWpisu=0;
  10.  
  11. // Badanie czy uzytkownik jest zalogowany czy nie
  12. if(isset($_SESSION['user'])) {
  13. $nick=$_SESSION['user'];
  14. }
  15. else $nick="gosc";
  16.  
  17.  
  18.  
  19.  
  20. $plik=file("$nazwaPliku");
  21.  
  22. $liczbaWpisow=count($plik);
  23.  
  24. // Jeżeli wpisów jest 0 to odrazu dodaje usera
  25.  if ($liczbaWpisow==0) { $wpis=$ip.":||:".$nick.":||:".$czas; }
  26.  
  27. // Jeżeli jednak plik log.txt nie jest pusty
  28.  else {
  29.  #sprawdzam czy w pliku jest juz user o takim ip
  30. for ($i=0;$i<$liczbaWpisow;$i++)
  31. {
  32. $tabela=explode(":||:",$plik[$i]);
  33.  $czasWejscia=$tabela[2];
  34.  $numerWpisu++;
  35. if ($ip==$tabela[0]) {
  36. $wpis=$tabela[0].":||:".$nick.":||:".$czas;
  37.  $poziom="jest";
  38. break;}
  39. }
  40. if ($poziom!=='jest') { $wpis=$ip.":||:".$nick.":||:".$czas; }
  41.  
  42.  
  43.  
  44.  #sprawdzam aktualnosc wszystkich spisow
  45. if ($poziom!=='jest') {
  46.  
  47.  for ($i=0;$i<$liczbaWpisow;$i++)
  48. {
  49.  $tabela=explode(":||:",$plik[$i]);
  50.  $plik[$i]=trim($plik[$i]);
  51.  $czasWejscia=$tabela[2];
  52. if ($czas-$czasWejscia < $minutnik ) {
  53. $wpisy[$i]=$tabela[0].":||:".$tabela[1].":||:".$tabela[2];
  54. $wpis = $wpis."\n".$wpisy[$i];}
  55. }
  56. }
  57.  
  58. elseif ($poziom=='jest') {
  59. for ($i=0;$i<$liczbaWpisow;$i++)
  60. {
  61.  $tabela=explode(":||:",$plik[$i]);
  62.  $plik[$i]=trim($plik[$i]);
  63.  $czasWejscia=$tabela[2];
  64. if ($czas-$czasWejscia < $minutnik AND $numerWpisu!==$i ) {
  65. $wpisy[$i]=$tabela[0].":||:".$tabela[1].":||:".$tabela[2];
  66.  $wpis = $wpis."\n".$wpisy[$i];}
  67. }
  68. }
  69.  
  70.  
  71. }
  72.  
  73.  
  74. $otworz=fopen("$nazwaPliku","r+");
  75. flock($otworz,2);
  76. fwrite($otworz,$wpis);
  77. flock($otworz, 3);
  78. fclose($otworz);
  79. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 09:07