• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

licznik odwiedzin php (tablice wielowymiarowe)

Object Storage Arubacloud
0 głosów
155 wizyt
pytanie zadane 7 maja 2017 w PHP przez pysilla Użytkownik (560 p.)

Cześć! Dopiero zaczynam moją przygodę z PHP i nie mogę sobie poradzić z następującym zadaniem. Chodzi o stworzenie licznika odwiedzin, który sczytywałby godzinę odwiedzin na podstawie pliku tekstowego w którym także znajduje się IP. Liczba odwiedzin uznawana jest jako suma odwiedzin z ostatnich 5 minut. Na końcu ma się wyświetlać informacja o tej liczbie. 

Mój pierwszy problem to jak odwołać się do elementu o indeksie "0" z wszystkich elementów array? Chcę mieć "samą godzinę".Wiem, że odwołanie w ostatnim foreach jest błędne, ale narazie zostawiłam to w ten sposób

Będę wdzięczna, także za podpowiedzi co do dalszej części zadania. Z góry dzięki!

 

To mój kod jak dotąd:

<?php


class adresIP {

    function szukaj_IP() {
        $ip = $_SERVER['REMOTE_ADDR'] . "\n";
        $teraz = date("Y:m:d H:i:s");
        echo 'To jest twoj adres IP: ' . $_SERVER['REMOTE_ADDR'];
        file_put_contents('plikIP.txt', $teraz . ";" . $ip, FILE_APPEND);
    }

    function licznik() {
        $ciag = file_get_contents('plikIP.txt');
        $tablica = explode("\n", $ciag);

        foreach ($tablica as $value) {
            if (trim($value)) {
                echo $value . "<br>";
                   $tmp[] = explode(";", $value); 
            }
        }
        foreach ($tmp as $new) {
            $tmp1=explode(" ", $new[0]);
        }
        echo '<pre>';
        print_R($tmp1);
    }

}
$IP = new adresIP;
$IP->licznik();


Z kolei tak wygląda tablica do której chce się odwołać:

Array
(
    [0] => Array
        (
            [0] => 2017:05:05 13:48:17
            [1] => 87.239.222.197
        )

    [1] => Array
        (
            [0] => 2017:05:05 13:48:19
            [1] => 87.239.222.197
        )

    [2] => Array
        (
            [0] => 2017:05:05 15:01:46
            [1] => 87.239.222.197
        )

    [3] => Array
        (
            [0] => 2017:05:05 15:01:47
            [1] => 87.239.222.197
        )

    [4] => Array
        (
            [0] => 2017:05:05 15:01:48
            [1] => 87.239.222.197
        )

)

Tak wygląda plik tekstowy:

2017:05:05 13:48:17;87.239.222.197
2017:05:05 13:48:19;87.239.222.197
2017:05:05 15:01:46;87.239.222.197
2017:05:05 15:01:47;87.239.222.197
2017:05:05 15:01:48;87.239.222.197

 

 

komentarz 7 maja 2017 przez pysilla Użytkownik (560 p.)
Czy ktoś jeszcze pomógłby mi w problemie?

1 odpowiedź

0 głosów
odpowiedź 7 maja 2017 przez Ehlert Ekspert (212,670 p.)

Fajnie, że zaczynasz ambitnie. Mimo wszystko jest kilka ale:

  • Klasę nazwalas adres IP, przy czym kasa ta w żadnym wypadku nie stanowi reprezentacji adresu IP 
  • Klasa powinna mieć jedną odpowiedzialność. Wykonywać jedno zadanie
  • English code please wink
  • Naprawdę pliki to dobry pomysł? Szkoda życia. Lepiej bazy danych (PDO) 
  • Nazwy klas zaczynamy wielką literą 
1
komentarz 7 maja 2017 przez pysilla Użytkownik (560 p.)
Dzięki! Skorzystam ze wszystkich wskazówek, a zadanie dostałam do zrobienia, więc nie marudzę .Chodziło bardziej  o poćwiczenie, a zrobienie tego samego na bazie danych mam też do wykonania tylko w drugiej kolejności :)

Podobne pytania

0 głosów
2 odpowiedzi 295 wizyt
pytanie zadane 14 października 2023 w PHP przez Piotrek2713 Mądrala (5,380 p.)
0 głosów
1 odpowiedź 2,525 wizyt
0 głosów
1 odpowiedź 332 wizyt
pytanie zadane 28 sierpnia 2021 w PHP przez pvalue Dyskutant (8,720 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...