Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Błąd w php?, Sam odkryłem :D
varez
post
Post #1





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 17.06.2007

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


Opisze Wam jak to dzis odnalazłem prawdopodobnie buga w php, i niech mi ktos powie czy to jest mozliwe, gdyz myslalem ze php jest tak napisane, ze cos takiego sie nie powinno zdarzyc.

Otóż wybierałem sobie z bazy sporą liczbe rekordów (6 000 + ich pasujace odpowiedniki z innej tabeli, czyli razem cos jakbym mial tablice 6000 x 20 elementów, gdzie nie bylo wiekszej kolumny od VARCHAR 255), i potem mialem je wyświetlic w polu <SELECT>.
jako ze kiedystam zmienialem sposob wybierania rekordow, to zostaly mi w skrypcie zle "odwolania" do elementow tablicy.
i tak zamiast $dane['nazwa_firmy'] wybieralem cos w rodzaju $dane['firmy']['nazwa_firmy'].

kod byl mniej wiecej taki:

Kod
foreach ($tablica as $dane) {
   $tekst.='<option value="'.$dane['id'].'">'.$dane['firmy']['nazwa_firmy'].'</option>';
}

echo $tekst;

Zgodnie z logika spodziewalem sie pustych <option>-ów, i po czesci tak wlasnie bylo, ale do pewnego momentu:
Kod
<option value="4312"></option><option value="4313"></option><option value="4314"></op="3316"></option><option value="3317"></option><option value="3318"></option>
po chwili numerki leciały juz dalej
<option value="4316"></option>

itd..
ale przy ktoryms zamknieciu znowu wygladalo to tak:
Kod
</op="3316"></option>

(znowu dokleił sie znikad ten sam kawałek kodu)
potem jeszcze kolejny raz,
za to w innym miejscu pojawiło mi się

Kod
</op<!DOCTYPE html PUBLIC ..... i cała reszta początku strony


Strone buforuje przed wyswietleniem, podejrzewam ze stamtad pobralo mi ten kawalek i wepchalo go gdzies posrodku zmiennej $tekst.
Zmienna $dane podejrzewam ze miala ok 6MB, wygenerowana tresc (HTML w buforze) mial ok 10MB, zmienna $tekst ok 8-9MB. w php.ini limit pamieci 128MB albo 64MB.

Spotkał sie ktos z czyms takim? Zeby wybierało cuda z pamieci przy odwolywaniu sie do nieistniejacej zmiennej?

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




"Błąd w php" - jesteś pewien? A 99,999% takich tematów jest to błąd programisty. Wiec jak chcesz się upewnić, że to błąd to szukasz informacji na ten temat i robisz znacznie więcej operacji, które ten "błąd" potwierdzają.

"Sam odkryłem (IMG:style_emoticons/default/biggrin.gif) " - no i? Nawet nie wiesz czy to błąd a chwalisz się jego odkryciem? Wyobrażasz sobie przyjście do urzędu patentowego kolesia z bananem na twarzy i powiedzeniem "odkryłem prąd ale nie działa w gumie (IMG:style_emoticons/default/sad.gif) ".

A co do tego ma liczba lat? Tylko dzieci tak piszą. A precyzyjniej "dzieci neo".
To, że sie nie rozliczasz nie oznacza, ze nie możesz wyrazić własnego zdania.
Go to the top of the page
+Quote Post

Posty w temacie


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: 7.10.2025 - 13:33