![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 10.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich
Jestem nowym użytkownikiem forum dlatego wybaczcie jeżeli popełniam jakieś błędy w komunikacji. Problem nad którym siedzę już sporo czasu dotyczy środowiska PHP (ver 5.2.6) na serwerze Apache Tomcat 5.0.28 używam API Java Servlet (php5servlet.dll), mianowicie w tabeli $_POST z formularza : CODE <form name="nazwa" id="nazwa" action="test.php" method="post"> <fieldset> <legend>Filtrowanie</legend> <label for="kategoria">Kategorie:</label> <select name="kategoria[]" size="5" multiple> <option selected value="A">A</option> <option selected value="B">B</option> <option selected value="C">C</option> </select> ... </fieldset> </form> otrzymuję tylko jeden element tablicy pomimo wybranych 3 : array(...) { ... ["kategoria"]=> array(1) { [0]=> string(1) "A" } ... } jeżeli użyję GETa wszystko jest OK, ale że mam trochę danych do przesłania takim formularzem muszę używać POSTa. Co może być nie tak w tej konfiguracji że $_POST tak dziwnie działa ? - już sprawdziłem co jest w komunikacie POST złapanym z wysłanego formularza i w samym komunikacie jest wszystko dobrze, zatem to PHP ma problem z zbudowaniem danych w tablicy $_POST (albo może nie PHP a java) - sprawdziłem PHP.ini i max_size - to też nie to - czy to może być jakiś błąd w używanym servlecie (z PECLa) ? spotkał się ktoś z czymś takim ? (niestety z pewnych względów muszę używać dokładnie takich wersji Tomcata i PHP) Proszę o sugestie i pomoc. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 556 Pomógł: 40 Dołączył: 20.07.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
a nie masz drugiego selecta/inputa name="kategoria"?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 10.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
nie, niestety :-) tylko jeden unikalny select kategoria[], ale to nie z tym selectem/czy jego nazwą jest problem to raczej z instalacją PHP, sprawdziłem różne przykłady formularzy nawet z książek i zawsze w $_POST mam niby zmienną tablicową odpowiadającą danemu selectowi ale zawsze tylko z jednym elementem.
Nie mam pojęcia gdzie jest problem - oczywiście wystarczy zmienić w skrypcie metodę POST na GET i zacząć czytać z tabeli $_GET i wszystko działa bez błędnie. Zatem czemu w PHP zmienną $_POST mam tak dziwnie wypelnioną - nie wiem. w samym komunikacie POST jest dobrze - złapałem sobie komunikat jakimś tam End User Experience Monitorem i w POST idącym do skryptu PHP jest wszystko dobrze - tablice powinny być wypełnione kilkoma wartościami a PHP tego nie robi dla POSTa. A może konfiguracja przez SERVLETa jest zła... Jeżeli ktoś ma taką konfigurację PHP na Apache 5... podeślijcie proszę informacje jak macie to skonfigurowane ? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Też miałem problem z tym że wysyłając checkboxy tablicowe w POST dostawałem tak jakby jeden element nie tablicowy. Niestety ale nie udało mi się rozwikłać tej zagadki.
Może być jakiś problem z parsowaniem [] przez PHP i może trzeba szukać w php.ini tego problemu. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Sprawdź co masz w php://input
-------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 10.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
W php://input też są tylko pojedyncze wartości - zatem już tam jest źle
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 09:07 |