Grumens
14.05.2004, 09:57:23
Witam,
Mam taki skrypt:
[php:1:ebb0981026]
<?php
error_reporting(E_ALL);
$array = array ('xxx.xxx.xxx');
$ip = explode(".", $_SERVER['REMOTE_ADDR']);
$czesc_ip = $ip[0].".".$ip[1].".".$ip[2];
if( !in_array( $czesc_ip, $array ) || $ip[3] < 130 || $ip[3] > 190 )
{
echo ' Permition denied !!! ';
exit;
} else
{
define('FILENAME','source.txt');
define('SEPARATOR', ';');
$arrTmp = file(FILENAME);
print ("<TABLE border=1 bordercolor=#000000 bgcolor=#EEEEEE>");
foreach ($arrTmp as $strLine)
{
$arrLine = explode(SEPARATOR, $strLine);
print "<tr><td>".$arrLine[0]."</td><td>".$arrLine[1]."</div></td><td>".$arrLine[2]."</td><td>".$arrLine[3]."</td></tr>n";
}
print("</TABLE>");
}
?>
[/php:1:ebb0981026]
Adres IP zaiksowalem specjalnie. Skrypt pobiera dane z pliku txt i wyswietla w formie tabelki. 4 kolumny oddzielone srednikami.
Wczesniej wszystko bylo dobrze, nic nie zmienialem a nagle zaczal pojawiac sie taki blad:
Notice: Undefined offset: 1 in /www/htdocs/kipr/ip/index.php on line 23
Notice: Undefined offset: 2 in /www/htdocs/kipr/ip/index.php on line 23
Notice: Undefined offset: 3 in /www/htdocs/kipr/ip/index.php on line 23
Nie wiem czy to wina skryptu, czy jakis blad serwera. Prosze o pomoc.
scanner
14.05.2004, 09:59:31
Wina skryptu.
Tabela $arrLIne, nie ma zdefiniowanych wartości pod indexami 1, 2, 3.
BzikOS
14.05.2004, 10:00:58
To nie błąd, a notatka.
A oznacza, że w tablicy nie ma indeksów do których się odwołujesz.
Grumens
14.05.2004, 10:01:21
Cytat
Wina skryptu.
Tabela $arrLIne, nie ma zdefiniowanych wartości pod indexami 1, 2, 3.
A jak zrobic zeby bylo dobrze??
BzikOS
14.05.2004, 10:02:59
Cytat
A jak zrobic zeby bylo dobrze??
Sprawdzaj czy indeks istnieje w tablicy funkcją [manual:1bda5d2fa9]isset[/manual:1bda5d2fa9]()
Grumens
14.05.2004, 10:04:51
Cytat
Sprawdzaj czy indeks istnieje w tablicy funkcją [manual:10a81ce169]isset[/manual:10a81ce169]()
Moge prosic o konkretna odpowiedz bo nie bardzo sie znam na php i cos takiego niewiele mi mowi??
BzikOS
14.05.2004, 10:18:08
[php:1:7964b22358]<?php
echo "<tr><td>";
echo isset( $arrLine[0] ) ? $arrLine[0] : ' ';
echo "</td><td>";
echo isset( $arrLine[1] ) ? $arrLine[1] : ' ';
echo "</div></td><td>";
echo isset( $arrLine[2] ) ? $arrLine[2] : ' ';
echo "</td><td>";
echo isset( $arrLine[3] ) ? $arrLine[3] : ' ';
echo "</td></tr>n";
?>[/php:1:7964b22358]
Problem wynika z niepoprawnego zapisu w pliku source.txt. Jeżeli masz 4 kolumny to w każdym wierszu powinny być 3 średniki... u Ciebie w niektórych miejscach jest ich zapewne mniej.
Grumens
14.05.2004, 10:33:10
Cytat
Problem wynika z niepoprawnego zapisu w pliku source.txt. Jeżeli masz 4 kolumny to w każdym wierszu powinny być 3 średniki... u Ciebie w niektórych miejscach jest ich zapewne mniej.
Wielkie dzieki, juz jest wszystko dobrze. Odkrylem tez blad jaki mialem. Na koncu pliku textowego byla pusta linia.
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.