Błąd w skrypcie php


(Das101) #1

Mam problem na serwerze po użyciu pewnego skryptu pokazuje mi :

( ! ) Notice: Uninitialized string offset: 0 in C:\wamp\www\DolphGC.php on line 95

Call Stack

#	Time	Memory	Function	Location

1	0.0008	365560	{main}( )	..\index.php:0

2	0.0022	392312	include( 'C:\wamp\www\DolphGC.php' )	..\index.php:13


( ! ) Notice: Undefined index: in C:\wamp\www\DolphGC.php on line 95

Call Stack

#	Time	Memory	Function	Location

1	0.0008	365560	{main}( )	..\index.php:0

2	0.0022	392312	include( 'C:\wamp\www\DolphGC.php' )	..\index.php:13

tutaj skrypt

<?php




/ *******************************************************************************

 * Dolph-Guest-Counter, wersja: 2.0 (register_globals off)

 *

 * Licznik wizyt odporny na odswiezanie

 *******************************************************************************

 * Autor: Michal "Pathfinder" Mazurek

 * E-mail: 

 * WWW: http://pathfinder.eia.pl/

 * Utworzone (dd-mm-rrrr): 15-05-2003

 * Zmodyfikowane (dd-mm-rrrr): 02-08-2003

 *******************************************************************************

 * Skrypt ten może być dowolnie modyfikowany i rozpowszechniany pod warunkiem

 * zachowania niniejszego nagłówka.

 *

 * Ten skrypt dostarczany jest przez autora w formie "takiej, jaki jest".

 * Autor nie udziela żadnej gwarancji oraz rękojmi, że skrypt będzie działać

 * prawidłowo, jest odpowiedniej jako¶ci oraz że spełni oczekiwania

 * użytkownika. Autor nie odpowiada za jakiekolwiek straty wynikłe z używania

 * skryptu, w tym utratę spodziewanych korzy¶ci, danych, informacji

 * gospodarczych lub koszt urz±dzeń lub programów zastępczych.

 ****************************************************************************** /



//w pliku w ktorym zagniezdzasz musisz ustawic session_start



//licznik


$l_liczb = 5; //ilosc wyswietlanych liczb

$tryb = 1;

// jesli ma byc licznik graficzny wpisz 1

// jesli zwykly to napisz 2

// jesli ma byc niewidoczny wpisz 3


$img_dir = "licznik"; //katalog z grafikami

$img_roz = "roz"; // rozszerzenie pliku np gif, jpg, bmp


//zablokowane IP:

//poprostu dodawaj takie linie \/

$lock_ip[] = "212.77.100.101";


$l_liczb -= 1;


for($r = 0; $r <= 9; $r++) {

    if($tryb == 1)

    $nim[$r] = "";

    elseif($tryb==2)

    $nim[$r] = "$r";

}


if(file_exists("licznik.num")) {

    $fp = fopen("licznik.num", "r");

    flock($fp, 1);

    $num = fgets($fp, "1000");


    if(!isset($_SESSION['ip'])) {


        for($q = 0; $q < count($lock_ip); $q++) {

            if($lock_ip[$q] != $_SERVER['REMOTE_ADDR']) {

                $bool = true;

            }

        }


        if($bool) {

            $num++;

            $ip = $_SERVER['REMOTE_ADDR'];

            $_SESSION['ip'] = $ip;

        }

    }


    flock($fp, 3);

    fclose($fp);


    $numi = strval($num);


    $fpw = fopen("licznik.num", "w");

    flock($fpw, 1);

    fwrite($fpw, $num);

    flock($fpw, 3);

    fclose($fpw);


    $ll_liczb = $l_liczb - strlen($num);

    if($tryb != 3) {

        for($qw = 0; $qw <= $ll_liczb; $qw++) {

            echo($nim[0]);

        }



        for($qw = 0; $qw <= strlen($num); $qw++) {

          [b] echo($nim[$numi[$qw]]); //TO JEST WIERSZ 95[/b]

        }

    }

}

else {

    $fpw = fopen("licznik.num", "w");

    flock($fpw, 1);

    fwrite($fpw, 1);

    flock($fpw, 3);

    fclose($fpw);


    $ll_liczb = $l_liczb - 1;

    if($tryb != 3) {

        for($qw = 0; $qw <= $ll_liczb; $qw++) {

            echo($nim[0]);

        }


        echo($nim[1]);

    }


}

echo"";

?>[/code]

ktoś powie co poprawić?


(Drobok) #2

Daj równe zamiast mniejsze/równe, powinno pomóc ;]


(Das101) #3

Pomaga, ale zatraca najważniejszą część skryptu czyli odporność na odświeżanie:P


(Drobok) #4

Raczej licznik nie stracił odporności na odświeżanie, bo wcześniej wychodziłeś poza zakres stringa. Raczej w nim błędów nie ma.