![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 23.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Piszę skrypt importujący dane z innej strony. Ogólnie dziala to tak, że zewnętrzna witryna wywołuje mój skrypt wysyłając dane w $_POST, ktore ja przetwarzam i integruje w swoim portalu. Problem jednak jest taki, że logując w bazie tablica wydaje się być ucięta:
Tablica nie jest ucinana za każdym razem, lecz jeśli już jest to na tym samym polu [beschreibung]. Nie wiem czy jest tam wysyłany jakiś znak, który php interpretuje jako koniec tablicy. Również kiedy podstawię wartość pola pod zmienną np
i pozniej chce wstawic wiersz do tabeli, łańcuch z zapytaniem ulega niespodziewanemu zakończeniu, tak jakby w zmiennej $opis siedziało coś co go ucina:
w skrypcie próbowałem dać
ponieważ bazę danych mam w utf8, jednak nic nie pomogło. Problem musi leżeć gdzieś głębiej. Może ktoś się spotkał z podobnym problemem i/lub ma pomysł co może być jego przyczyną ![]() dodam jeszcze moze że używaną wersją php jest 5.2.6, serwer apache 2.2.3 Pozdrawiam Ten post edytował cyku 23.09.2009, 22:21:47 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 1 Dołączył: 21.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wielkim specem to nie jestem, więc wiele nie pomogę ale...
Gdybym robił coś takiego to zapisywałbym i odczytywałbym dane z jednej, wspólnej bazy. Cytat lecz jeśli już jest to na tym samym polu [beschreibung] Możesz się upewnić czy to właśnie to pole jest "wadliwe" przesyłając je jako pierwsze/jedno z pierwszych :\ Cytat Note: However, there is an 8 Mb max size for the POST method, by default (can be changed by setting the post_max_size in the php.ini file). Może masz zmniejszony ten maksymalny rozmiar i Ci tą końcówkę ucina... Ten post edytował thelaguna 23.09.2009, 23:58:46 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 23.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
problem w tym, że to nie ja wysyłam te dane tylko zewnętrzny portal, w którym jedyne co mogę zrobić to podać link do mojego skryptu.
Jutro jeszcze zobaczę jak się sprawy mają na innym serwerze.. niemniej jednak dzięki. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Stawiam raczej, że jest tam jakiś znak, który sprawia, że print_r kończy wyświetlanie w tym miejscu (albo przeglądarka przestaje wyświetlać - sprawdź podgląd źródła strony), a nie że $_POST jest ucinany. Możesz sobie nawet spróbować porównać funkcją strlen() rozmiar tego ciągu oraz sizeof() rozmiar całego $_POST z tym, co na ekranie jest drukowane.
-------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Jako że strona, jak widać dla mnie, jest związana z językiem niemieckim to sądzę, że problemem są znaki. Być może sypie się na umlautach. Poza tym z tego co widzę, to kompletnie zapominasz o znakach ucieczki. Puszczasz tablicę do wyświetlenia bez jakiegokolwiek sprawdzania zawartości pod kątem znaków specjalnych, które mogą wspomniany przez Ciebie problem także wywołać.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 231 Pomógł: 22 Dołączył: 6.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
strip_tags(); htmlspecialharacters(); iconv(); a jeśli nie to coś nie jest tak ze skryptem który wysyła ci postem dane
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 1 Dołączył: 21.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Koledzy wyżej mogą mieć rację, czytając to i owo trafiłem na cytat z manuala, co prawda jest on o move_uploaded_file(); ale zobacz sam:
Cytat When using PHP on Windows and trying to use move_uploaded_file() on a file with special non-ascii characters like german umlauts they get converted bytewise thus destroying them resulting in a wrong CP1251 Windows filename. Skoro w tej funkcji niemieckie znaki powodują błędy w skrypcie to w innych funkcjach pewnie też. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 23.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jako że strona, jak widać dla mnie, jest związana z językiem niemieckim to sądzę, że problemem są znaki. Być może sypie się na umlautach. Rzeczywiście to umlauty przerywają stringa. Sprawdziłem jakie kodowanie mają przysyłane dane, wyszło że UTF-8 więc chyba nie musze dodatkowo konwertować tego pola na utf-8 (bo takie mam kodowanie ustawione w bazie danych)? Próbowałem jednak wielu kombinacji i nic nie pomogło więc chyba coś nie tak ze skryptem wysyłającym. Cytat strip_tags(); htmlspecialharacters(); HTMLowe znaczki raczej tu nie przeszkadzają, bo wszystko wyświetlane jest w komponentach falshowych. Pogadam w takim razie z administratorem tamtego serwisu, dzięki za pomoc i pozdrawiam. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 21:37 |