Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: system rejestracji & sesje
Forum PHP.pl > Forum > PHP
angerthor
Witam!

Mam system rejestracji w oparciu o sesje i chcę wyświetlić ilość zarejestrowanych userów on-line oraz ich nicki.

Jak to zrobić ?


pozdrawiam!
e44
przy logowaniu usera zapisz sobie jego nick i wyswietlaj na stronie np. przez 5 minut.
angerthor
Wykombinowalem taki skrypt, ktory do pliku txt dodaj trojczlonowe wpisy:
1. Nr ip usera
2. Nick usera pobrany z sesji, jezeli user nie jest zalogowany to nick=gosc
3. Czas ostatniego uruchomienia skryptu przez usera

Oto skrypt :

  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. ?>



Jednak przy tym skrypcie wystepuja bledy, a ja juz nie moge ich znalezc sad.gif

Prosze o pomoc
aleksander
wyskakuja jakies błędy?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.