Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] xampp 1.80
Forum PHP.pl > Forum > PHP
MFrost
Witam

mam taką stronę
http://www.lcmz.pl/pokaz.php?co=rehabilitacja.txt
tutaj strona wyświetlana jest bez błędów

natomiast pod xamppem 1.80 mam takie coś
wyświetlają się te błędy pod zielonym porzyciskiem wstecz

Notice: Undefined offset: 132 in D:\xampp\htdocs\lcmz_zal\pokaz.php on line 651

Notice: Undefined offset: 133 in D:\xampp\htdocs\lcmz_zal\pokaz.php on line 651

Notice: Undefined offset: 134 in D:\xampp\htdocs\lcmz_zal\pokaz.php on line 651


.......
Notice: Undefined offset: 999 in D:\xampp\htdocs\lcmz_zal\pokaz.php on line 651

fragment kodu pliku pokaz.php to:

  1.  
  2. <?PHP
  3. $co=$_GET['co'];
  4. preg_match ("/txt/is", $co, $znalezione);
  5. if ($znalezione[0]=='txt') {$zbior=file($co);
  6. for ($i=0;$i<1000;$i++)
  7. {print $zbior[$i];} }
  8.  
  9. ?>
  10.  


co może byc przyczyną tych błędów?
rocktech.pl
Witam.

1. Kod sypał błędami wcześniej tylko ich nie wyświetlałeś.

  1. ini_set( "display_errors" , 1);


http://php.net/manual/en/function.error-reporting.php

2. Poczytaj o zabezpieczeniach przed atakami File Inclusion bo zaraz ci ktoś nabroi.

http://www.lcmz.pl/pokaz.php?co=brak.txt <-- Zajrzyj tu


Cytat
co może byc przyczyną tych błędów?


Odwołujesz się do klucza tablicy który nie istnieje.
MFrost
jak mam poprawić kod?, żeby nie wyświetlał tych błędów, bo chyba sobie sam nie poradzę
rocktech.pl
Spróbuj może tak da radę ...
  1. for ($i=0;$i<1000;$i++) {
  2. if ( array_key_exists($i, $zbior ) ) {
  3. print $zbior[$i];
  4. } else {
  5. break;
  6. }
  7. }


Nic dodania poza tym co napisane array_key_exist, isset, SpFileObject ...
MFrost
po zmianie mam taki komunikat

Parse error: syntax error, unexpected ')' in D:\xampp\htdocs\lcmz_zal\pokaz.php on line 651

w linijce 651 mam
  1. if (array_key_exist($zbior[$i]))) {
rocktech.pl
Poprawiłem i nie był to jedyny błąd. Reszta w manualu smile.gif
MFrost
zamiast
  1. <?PHP
  2. $co=$_GET['co'];
  3.  
  4.  
  5.  
  6. preg_match ("/txt/is", $co, $znalezione);
  7. if ($znalezione[0]=='txt') {$zbior=file($co);
  8. for ($i=0;$i<1000;$i++)
  9. {print $zbior[$i];} }
  10.  
  11. ?>


wpisałem
  1. <?PHP
  2. $co=$_GET['co'];
  3.  
  4.  
  5.  
  6. preg_match ("/txt/is", $co, $znalezione);
  7. if ($znalezione[0]=='txt') {$zbior=file($co);
  8. for ($i=0;$i<1000;$i++) {
  9. if ( array_key_exist($i, $zbior ) ) {
  10. print $zbior[$i];
  11. } else {
  12. break;
  13. }
  14. }
  15.  
  16. ?>


mam błąd
Parse error: syntax error, unexpected end of file in E:\xampp\htdocs\lcmz_zal\pokaz.php on line 656

linii numer 656 nie ma
rocktech.pl
Zainstaluj sobie jakieś IDE NetBeans, PHPStorm ... i błędy parsowania będziemy mieli z głowy.
Jeżeli upierasz się aby zrobić to Notatniku rób wcięcia i gołym okiem zobaczysz, że brakuje ostatniej klamry.

To jest naprawdę prosty kod i gotowce masz w ostanim linku który podałem.
MFrost
ok dodałem klamrę, taraz mam

Fatal error: Call to undefined function array_key_exist() in D:\xampp\htdocs\lcmz_zal\pokaz.php on line 651
rocktech.pl
Poprawiłem kod dla potomnych copypaster-ów smile.gif

Błagam nie wklejaj więcej błędów parsowania. Jeżeli już wklejasz to napisz czego nie rozumiesz w komunikacie.
MFrost
dzięki wielkie za pomoc, już działa i nie męczę smile.gif
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.