Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z tablicą $_POST na serwerze Apache Tomcat
Forum PHP.pl > Forum > Serwery WWW > Apache
adampl74
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.
kayman
a nie masz drugiego selecta/inputa name="kategoria"?
adampl74
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 ?
Pyton_000
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.
redeemer
Sprawdź co masz w php://input
adampl74
W php://input też są tylko pojedyncze wartości - zatem już tam jest źle
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-2024 Invision Power Services, Inc.