Předmět Autor Datum
Môžeš.
pme 13.07.2014 09:43
pme
A jak na to?
online lidí 13.07.2014 09:47
online lidí
Jednoducho... Počítadlo už máš, alebo očakávaš "step by step" návod?
pme 13.07.2014 09:52
pme
Mám ale potřebuji aby ukazovalo kolik je lidí na jiné stránce.
online lidí 13.07.2014 09:58
online lidí
Podľa mňa máš "prd"... Skús napr. toto: pocitadlo.abz.cz Následne klikni na jak to funguje...
pme 13.07.2014 10:00
pme
Jasně ale já potřebuju aby to ukazovalo kdo je online. Příklad : online 4 lidi
online lidí 13.07.2014 10:04
online lidí
A co pro tebe konkrétně znamená, že je někdo online?
Wikan 13.07.2014 11:24
Wikan
Aby ostatní viděli že je na chatu třeba 5 lidí a nemuseli tam pořád koukat
online lidí 13.07.2014 11:38
online lidí
No a ako máš vyriešené to počítadlo? Zobraziť hocijaký údaj na stránke nie je problém... Problém je…
pme 13.07.2014 11:38
pme
fajn, mas pocitadlo na jdne strance, na jine strance nactes jeho hodnotu a zobrazis ji. <code><pre>…
gilhad 13.07.2014 16:14
gilhad
Předpokládám, že vstup do chatu je vyřešen nějakým způsobem pomocí přihlášení. Uživatelé (účty) jsou…
Pavel 13.07.2014 15:27
Pavel
Pokusím se to vysvětlit takto: Chtěl bych ukazovat na hlavní stránce kolik je v chatu (vytvořil jsem…
online lidí 13.07.2014 18:23
online lidí
Asi by som použil session premennú... Z tohto príkladu to iste pochopíš a upravíš si podľa seba: P…
pme 13.07.2014 19:00
pme
Děkuji, když ale vytvořím ty soubory session1.php s tím obsahem a session2.php s tím obsahem tak tu…
online lidí 13.07.2014 19:10
online lidí
Akú verziu php máš? Skús to takto: <?php session_start(); $_SESSION["a"] = "LOGGED"; ?> 2nd page…
pme 13.07.2014 19:20
pme
to píše to samé: Fatal error: Call to undefined function session_register() in /data/web/virtuals/69…
online lidí 13.07.2014 19:25
online lidí
Vymaž cache a cookies prehliadača - veď tam máš to isté z prvého príkladu (nič si nezmenil), session…
pme 13.07.2014 19:28
pme
Depak, ukazuje to pořád. I po smazání cache a cookies. Tak holt nic, ale děkuji moc.
online lidí 13.07.2014 19:37
online lidí
http://php.net/manual/en/function.session-register .php http://php.net/manual/en/function.session-st…
ERASER 13.07.2014 19:41
ERASER
díky za odkazy. No já tomu právě zase moc nerozumím. Chtěl jsem pomoct s tím kamarádovi. poslední
online lidí 13.07.2014 19:42
online lidí

No a ako máš vyriešené to počítadlo? Zobraziť hocijaký údaj na stránke nie je problém... Problém je práve ten údaj mať... ;-)
P.S. myslíš, že niekto klikne na Tvoju stránku a počítadlo zvýši svoj counter o jedničku a máš online stav? Čo keď človek len klikne a hneď odíde? Máš to ošetrené?
Máš ošetrený stav ako dlho musí byť človek na stránke, aby Ti ukazovalo aktuálny online počet užívateľov? Tých "detailov" je omnoho viac...

fajn, mas pocitadlo na jdne strance, na jine strance nactes jeho hodnotu a zobrazis ji.
<code><pre>
napriklad na strance 1:

... zvys_pocitadlo(datetime,IP) ...

na strance 2:

... pocet=hodnota_pocitadla();print "Na strance 1 je prave"+pocet+"lidi";....

knihovna:

zvys_pocitadlo(timestamp,IP):
if DB_find(IP):
DB("UPDATE navstevnici SET kdy=%s WHERE IP=%s",(timestamp,IP))
else:
DB("INSERT INTO navstevnici(kdy,IP) VALUES(%s,"%s)", (timestamp,IP))

hodnota_pocitadla():
return DB("SELECT count(*) FROM navstevnici WHERE kdy > %s",(now()-timedelta(5))
# vrati kolik lidi navstivilo stranku behem poslednich 5 minut
</pre></code>

Musis si to upravit na syntaxi tebou pouziteho jazyka/prostredi

Předpokládám, že vstup do chatu je vyřešen nějakým způsobem pomocí přihlášení. Uživatelé (účty) jsou nejspíš v databázi. Nebude teda problém zjistit aktuální počet přihlášených či aktivních užvatelů.

No a pak na tvé jiné stránce (mimo chat) si spustíš skript, co načte počet přihlášených či aktivních na chatu a tuto hodnotu zobrazí. Skript se spustí (řekněme) každých deset minut.

Bez bližších informací se asi víc poradit nedá.

Pokusím se to vysvětlit takto:
Chtěl bych ukazovat na hlavní stránce kolik je v chatu (vytvořil jsem jednoduchou stránku s chatem) lidí. Mám php co mi ukazuje počet online lidí. Jak to mám ale udělat abych viděl na hlavní stránce že je v chatu třeba 0 lidí? Když to počítadlo vložím do iframe tak mi to ukazuje že jsem online na chatu a to není pravda. Tak poradíte někdo prosím?

index.php:

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
    <title>Počet online uživatelů</title>
  </head>
  <body>
  <p>Toto je velmi zajímavá stránka.</p>
  <p><?php include('readers.php'); ?></p>
  </body>
</html>

readers.php:

<?php
$fcrr='readers.txt'; // jméno souboru, do kterého ukládat IP adresy návštěvníků
$IPadresa=$_SERVER['REMOTE_ADDR']; // sem "naskládame" vše, co lze o čtenáři zjistit odděleno zavináčem (adresy uživatelů za proxy ap.)
if ($_SERVER['REMOTE_HOST'])
  $IPadresa.='@'.$_SERVER['REMOTE_HOST'];
if ($_SERVER['HTTP_X_FORWARDED_FOR'])
  $IPadresa.='@'.$_SERVER['HTTP_X_FORWARDED_FOR'];
if ($_SERVER['HTTP_FORWARDED'])
  $IPadresa.='@'.$_SERVER['HTTP_FORWARDED'];
if ($_SERVER['HTTP_CLIENT_IP'])
  $IPadresa.='@'.$_SERVER['HTTP_CLIENT_IP'];
if ($_SERVER['X_HTTP_FORWARDED_FOR'])
  $IPadresa.='@'.$_SERVER['X_HTTP_FORWARDED_FOR'];
if ($_SERVER['X_FORWARDED_FOR'])
  $IPadresa.='@'.$_SERVER['X_FORWARDED_FOR'];
$aktual=time();
$pole=file($fcrr); //přiřadit jméno souboru k poli
for($i=0; $i<Count($pole); $i++) // procházet pole
{
  $adresa=StrTok($pole[$i],':'); // rozdělit na adresu a čas záznamy oddělené dvojtečkou
  $cas=StrTok(':');
  if ($adresa==$IPadresa) // pokud se adresa rovná některému záznamu, vyřadit jej (vymazat) z pole
    $pole[$i]='';
  if ($cas<($aktual-10)) // pokud vypršel timeout 6 minut, vyřadit záznam (vyřadí se neaktivní uživatelé)
    $pole[$i]='';
}
$Fp=FOpen($fcrr,'w'); // otevřít soubor pro zápis
$celkem=0; // vyčistit proměnnou
for($i=0; $i<Count($pole); $i++)
{
  if ($pole[$i]!='') // je-li co zapsat po předchozím "vyčištění" pole
  {
    FPutS($Fp,$pole[$i]); // pak zapsat prvek pole do souboru
    $celkem++; // zvýšit počítadlo uživatelů
  }
}
FPutS($Fp,$IPadresa.':'.$aktual."\n"); // připsat adresu aktuálního uživatele a jeho čas
$celkem++; // zvýšit počítadlo o 1 (o aktuálního uživatele)
FClose($Fp); // zavřít soubor
// v $celkem je nyní počet uživatelů online
$mess1='čte';
$mess2='lidí';
if ($celkem<5) 
  if ($celkem>1)
  {
    $mess1='čtou'; 
    $mess2='lidé';
  }
  else
    $mess2='člověk'; // vyskloňovat podle počtu uživatelů
echo "Stránku si právě $mess1 $celkem $mess2."; // vypsat počet uživatelů se správným skloňováním
?>

Jde o to abych ukazoval počet online uživatelů na jiné stránce. Co mám dát do stránky index2 aby mě to ukazovalo kolik lidí je na stránce index?

Asi by som použil session premennú...
Z tohto príkladu to iste pochopíš a upravíš si podľa seba:

Použití session proměnných (php4)
1. Na začátku každé stránky použít funkci session_start()
- tato funkce zkontroluje, zda již má uživatel přidělen identifikátor (sessionID), pokud ještě ne, přidělí mu ho, pokud již má přidělen identifikátor, tak načte naše všechny session proměnné a zpřístupní je jako běžné proměnné skriptu.

2. Pro vytvoření session proměnné z obyčejné proměnné je potřeba zavolat session_register()
- parametrem této funkce je název proměnné (tedy bez $) , ze které chceme udělat session proměnnou.

Ukázka:

Zaregistrování session proměnné (session1.php)

<?
session_start();
?>
<html>
<head><title>Session test page 1</title></head>
<body>
<?
session_register("prom");
$prom = "1234";
echo "Sesion promenne - stranka c.1, Zaregistrovani promenne<br>";
echo "prom = $prom". "<br><br>";
?>
<br>
Pri prechodu na <a href="session2.php">dalsi stranku</a> se hodnota promenne $prom zachova.
</body>
</html>

Využití session proměnné (session2.php)
<?
session_start();
?>
<html>
<head><title>Session test page 2</title></head>
<body>
<?
echo "Sesion promenne - stranka c.2, Vypis zaregistrovane promenne<br>";
echo "prom = $prom";
?>
</body>
</html>

Děkuji, když ale vytvořím ty soubory session1.php s tím obsahem a session2.php s tím obsahem tak tu udelá :
session1.php: Fatal error: Call to undefined function session_register() in /data/web/virtuals/68225/virtual/www/pocitadlo/ses sion1.php on line 8

session2.php: Sesion promenne - stranka c.2, Vypis zaregistrovane promenne prom =

Zpět do poradny Odpovědět na původní otázku Nahoru