Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Licznik
Glarden
post
Post #1





Grupa: Zarejestrowani
Postów: 153
Pomógł: 2
Dołączył: 28.05.2007
Skąd: Stamtąd

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


Mam licznik osób, które były na stronie, ale nie chcę, żeby dodawał do licznika osobę, która już na stronie była wcześniej. Rozpoznaje po IP. Skrypt wygląda tak:
  1. <?php
  2. function dodaj () {
  3. $file = file("licznik.txt");
  4. $ip = $_SERVER['REMOTE_ADDR'];
  5. if (!in_array($ip, $file)) {
  6. $plik = fopen("licznik.txt", "w");
  7. fputs($plik, $ip."rn");
  8. for ($i=0;$i<count($file);$i++) {
  9. fputs ($plik, $file[$i]);
  10. }
  11. fclose($plik);
  12. }
  13. }
  14. function odczytaj () {
  15. $file = file("licznik.txt");
  16. $ile = count($file);
  17. return $ile;
  18. }
  19. ?>


I co nie zrobię, to jednak dodaje do tego pliku i przy każdym wejściu inkrementuje licznik. Co jest źle?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Glarden
post
Post #2





Grupa: Zarejestrowani
Postów: 153
Pomógł: 2
Dołączył: 28.05.2007
Skąd: Stamtąd

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


Dzięki, teraz już działa.
Ale mam jeszcze jedną prośbę. Zrobiłem licznik osób online, ale na razie mogę go wypróbować tylko na localhoscie, więc moglibyście sprawdzić, czy nie ma błędów? Oto skrypt:
  1. <?php
  2. function online_dodaj () {
  3. include ("baza.php");
  4. $c = time();
  5. $ses = session_id();
  6. $query = "select * from online where session_id='$ses'";
  7. $result = mysql_query ($query);
  8. $ile = mysql_num_rows ($result);
  9. if ($ile>0) {
  10. $query = "update online set time='$c' where session_id='$ses'";
  11. $result = mysql_query ($query);
  12. }
  13. else {
  14. $query = "insert into online values ('$ses', '$c')";
  15. $result = mysql_query ($query);
  16. }
  17. $czas = (time()-300);
  18. $query = "delete from online where time<$czas";
  19. $result = mysql_query ($query);
  20. }
  21.  
  22. function online_odczytaj () {
  23. include ("baza.php");
  24. $query = "select * from online";
  25. $result = mysql_query ($query);
  26. $online = mysql_num_rows ($result);
  27. return $online;
  28. }
  29. ?>


Kiedy ja wchodzę, to pokazuje, że jest jedna osoba (czyli poprawnie).
Go to the top of the page
+Quote Post

Posty w temacie
- Glarden   [php]Licznik   22.07.2007, 21:11:21
- - Hacker   polecam manual php CytatElementy tablicy zawieraj...   22.07.2007, 21:30:26
- - Glarden   Dzięki, teraz już działa. Ale mam jeszcze jedną pr...   23.07.2007, 10:53:47
- - Kicok   Błędów w działaniu być nie pow...   23.07.2007, 19:05:00
- - Glarden   Poczytam. Wielkie dzięki.   23.07.2007, 20:07:50


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: 8.10.2025 - 01:39