ForumCała strona

Nawigacja

Aktualnie online

Gości online: 19

Użytkowników online: 0

Łącznie użytkowników: 25,405
Najnowszy użytkownik: kipolas

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

Musisz zalogować się, aby móc dodać wiadomość.

jantom
07.09.2025 09:40:31
Strona z niebytu wrocila, ciekawe kiedy polskie literki rowniez...

JazOOn
25.06.2025 23:43:19
Dziadziejemy jantom...

jantom
23.06.2025 21:37:31
Z ciekawo?ci pogrzeba?em w historii i jest gorzej ni? my?la?em. Skórka Nadzieja ma ju? 17 lat.

jantom
23.06.2025 21:33:12
... troch? zasiedzia?o Wink

jantom
23.06.2025 21:32:38
Cecha tego, jak z 20+ lat temu pisano strony - tabelki wsz?dzie, szczególnie do tworzenia uk?adów stron. PF d?ugo by? wierny tej tradycji. A obecny szablon Supportu napisa?em z 15 lat temu i chyba mu

Pobierz now? wersj?
Pobierz podr?cznik
Zobacz inne oficjalne Supporty
Statystyki supportu
PHP-Fuson PL na Facebooku

RSS

Polecamy hosting SferaHost.pl

Zobacz temat

Polski Oficjalny Support PHP-Fusion » PHP-Fusion v5.00-v6.01 Support » B??dy i korekty
 Drukuj temat
B??d: Notice: unserialize w submissions.php z katalogu admina
Wooya
Spotka? si? kto? z takim bl?dem, ?e nie wy?wietla zawarto?ci nades?anego przez uzytkownika materia?u? Wsykakuje b??d przy funkcji unserialize(). Obluka?em kod i wszystko wygl?da ok.... Hmmmm.... Znam fusiona niemal na wylot, ale tutaj zglupialem... W 4.01 tego nie bylo.

Przyk?adowy listing bledu z php:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

Edytowane przez Pieka dnia 13.11.2009 18:43:50
... Pomagam tylko przy najnowszych wersjach PHP-Fusion ...
koder_1.png
 
W?cibski Go??
Dodany dnia 09.09.2025 08:09:58
Pan Kontekstualny

Postów: n^x
Data rejestracji: Zawsze

Polecamy hosting SferaHost.pl
IP: localhost  
SebaZ
a zmienia?e? co? w definicjach i przypisywaniu wysy?anych danych do zmiennych
Zadawanie pyta? na forum to nie jest prawo, to jest przywilej, którego ka?dy mo?e by? pozbawiony je?eli nie b?dzie umia? z niego korzysta?. Nie wymagaj wi?c natychmiastowej odpowiedzi.
 
Wooya
SebaZ napisa?(a):
a zmienia?e? co? w definicjach i przypisywaniu wysy?anych danych do zmiennych


Na poczatku (na potzreby mojej wersji PHP Fusion Multilanguage Support) tak. Ale pozniej sprawdzilem na oryginalnym 5.01 i to samo. Dziwne. Ale coz, bede patrzal dalej...
... Pomagam tylko przy najnowszych wersjach PHP-Fusion ...
koder_1.png
 
BlackDog
wi?c tak
IMHO to je?eli nie widzisz zadnego b??du w pliku submission.php w katalogu admina, a mimo to b??d wyskakuje, to musi to z czego? wynika? i musi mie? jak?? przyczyn? - wystarczy tylko j? znale??.

Wi?c pomy?lmy logicznie - ogólnie patrz?c, plik submissions.php s?u?y do wy?wietlania w panelu admina nades?anych przez usera materia?ów - linków, newsów , artyku?ów i ewentualnego ich opublikowania lub usuni?cia

nades?ane przes usera materia?y znajduj? si? w tablicy fusion_submisions.

plik submisions.php ma za adanie odczyta? te dane z tej tablicy - wszystko spoko - ale pojawia si? w nim ta funkcja unserialize() - jak my?lisz do czego ona s?u?y?

popatrz na przyk??dowego newsa o tytule TEST i tre?ci TEST TEST TEST, , jak on wygl?da w tablicy fusion_submisions:

Pobierz kod źródłowy  Rozwiń Kod źródłowy


znaczenia poszczególnych pól bardzo ?atwo si? domy?li?, ale ciekawe jest w?a?nie to ostatnie pole - dlaczego tak dziwinie wygl?da?

odpowied? jest prosta - bo znajduje si? w nim co? co zosta?o poddane serializacji.
ale co to mog?o by? i dlaczego to tak wygl?da? nie powiem na 100% bo przyznaj? si? ?e nie patrzy?em w kod, ale wygl?da na to, ze nadsy?ane przez usera newsy i materia?y s? przechowywane jako obiekty(mam nadzieje ?e mniej wi?cej wiesz co to jest obiektowo?? - a je?eli nie to powedzmy, ze jest to jakby egzemplarz przedmiotu danej klasy, o cechach opisanych w???nie w tej klasie - taka jakby struktura danych, przechowuj?ca ró?ne informacje o danym przedmiocie - w tym przypadku o newsie nades??nym przez usera)
po co si? korzysta z klas i obiektów - bo naprawde u??twiaj? w niektórych sytuacjach ?ycie .

No wi?c mamy nasz przypadek - user doda? newsa - zosta? on zapisany w specjalnym obiekcie (nie patrzy?em w kod w szczegó?u, ale wida? co zawiera ten obiekt) .

no i teraz mamy problem, jak zapisa? taki obiekt w bazie danych - przecie? nie ma takiego typu danych i w ogóle ci??ko by by?o zmie?ci? to wszystko w jednym polu - ale jest na to sposób - a nazywa si?...

SERIALIZACJA

u?ywamy do tego funkcji serialize(), która przekszta?ca nam dany obiekt czy te? tablic? w ?a?cuch znaków - jaki - widzimy na przyk?adzie

taki ???cuch znaków spokojnie mo?emy ju? zapisa? sobie w jednym polu jako text. - ale jak to teraz odczyta? ?eby si? spowrotem z?o?y?o do kupu w obiekt czy tablic??

u?ywamu do tego funkcji unserialize() - dzia??nie odwrotne do serialize.

A teraz do rzeczy - moim zdaniem, je?eli, jak piszesz, w pliku submisions.php nie ma b??du, to poszukaj go w pliku odpowiedzialnym za dodawanie przez usera newsów, linków itd, bo moze tam w wyniku Twojej przeróbki usuna??? gdzie? nieopatrznie jak?? linijk? odpowiedzialn? za serializacj? danych , i teraz nie mozna ich poprawnie zdeserializowa? - cho? to tylko moje przypuszczenia i wcale nie musz? si? okaza? prawd?.

Mozlwie te? ?e w pliku odpowiedzialnym za dodawania przez ludzika newsa mog?e? sobie gdzie? nieopatrznie usun?? w którym? miejscu funkcj?
addslashes(), która dodaje slashe przed cudzys?owami i teraz przy próbie wy?wietlenia tego si? kipszczy jak to zwykle przy u?ywaniu cudzys?owów.

Jak ju? powiedzia?em , s? to tylko takie moje przypuszczenia, bo na tyle dok??dnie nie znam jeszcze php-fusiona zeby mie? pewno?? co do tego, ale moze moja epopeja pomoze Ci zlokalizowa? b??dzik a innym osobom rozszerzy wiedz? na temat php :)

Pozdrawiam -BlackDog

PS. to s? tylko moje lu?ne wywody, któe pisa?em z g?owy i musicie sobie sprawdzi? poprawno?? moich rozwa?a? pod wzgl?dem budowy fusiona - nie patrzy?em w kod, wi?c mog? by? b?edy rzeczowe, ale chodzi?o mi o sam? ideei sposó szukania b?edów :)

Edytowane przez BlackDog dnia 19.03.2005 19:36:15
 
Przejdź do forum:
Created by Arox Copyright (C) 2004
Copyright (C) 2004 - 2018 Ekipa PHP-Fusion.pl