Na een server crash probeer ik het intranet van een opdrachtgever weer op te zetten.
Alles is weer teruggezet en ingesteld. Het intranet komt weer naar voren, maar ik heb een probleem met de forms. De waarde van een hidden form-field komt niet door, en dus heb ik geen content.
Wat ik heb geprobeerd op applicatieniveau:
Het form lijkt gepost te worden, maar de data komt niet door. Zoals ik zei, een enkele keer werkt het wel en met firefox zonder problemen, maar voor de crash werkte het met IE ook prima. En ik kom er maar niet achter waarom nou.
Wat ik nu nog kan bedenken:
Het hidden form ziet er zo uit:
De server draait op Windows 2003, webserver is Apache voor windows 2.2.9, PHP 5.2.6 en mysql 5.0.86. (Versienummers van voor de crash heb ik niet)
Alles is weer teruggezet en ingesteld. Het intranet komt weer naar voren, maar ik heb een probleem met de forms. De waarde van een hidden form-field komt niet door, en dus heb ik geen content.
Wat ik heb geprobeerd op applicatieniveau:
- Het Apache access-log laat een POST-operatie zien en geeft een HTTP status 200 (OK).
- Apache's error log geeft geen rare meldingen (behalve een error van PHP dat die specifieke POST-waarde niet gevonden kon worden, dat wist ik al)
- Zowel IE 6 en 7 geprobeerd, beiden geven hetzelfde gedrag. De site is echter ontworpen voor IE6 en heeft daar jaren probleemloos mee gedraaid.
- Intranet in IE's 'Trusted Sites' gezet - geen effect.
- Intranet in IE's 'Local Intranet' gezet - geen effect.
- IE's Security Level voor deze site op 'low' gezet - geen effect.
- FireFox gebruikt: en het werkt foutloos!
- De waarde van PHP $_SERVER['REQUEST_METHOD'] uitlezen voor de content-pagina. Die is netjes POST.
- FORM enctype="application/x-www-form-urlencoded" ingesteld (het was leeg) - geen effect
- Ik gebruikte een JavaScript submit. Vervangen door een <INPUT type="submit"> - geen effect
- Het hidden veld zichtbaar maken. De juiste waarde wordt door de site ingevoerd en op submit geklikt - geen effect
- Gekeken in de content-pagina of er wel een POST-waarde voor die submitknop is, ook niet.
- Gegoogled op 'IE form behavior' en variaties daarop met apache en php erin. Daar komt niets uit dat relevant lijkt.
- GeGOT op soortgelijke lemma's. Er komen wel resultaten voor PHP en AJAX naar boven, maar ik gebruik geen AJAX.
Het form lijkt gepost te worden, maar de data komt niet door. Zoals ik zei, een enkele keer werkt het wel en met firefox zonder problemen, maar voor de crash werkte het met IE ook prima. En ik kom er maar niet achter waarom nou.
Wat ik nu nog kan bedenken:
- De versies van Apache/PHP/MySQL zijn nieuwer dan voor de crash. Ik beheer de server niet zelf, alleen de webapplicatie. Voordat ik de systeembeheerder vraag iets aan de software te veranderen wil ik wel graag weten dat het daar dan echt aan ligt.
Het hidden form ziet er zo uit:
PHP:
1
2
3
4
| <FORM name="naarBeheer" method="POST" action="medewerkers_profiel_beheren.php"> <INPUT type="text" name="id" value="<?echo $medewerkerid?>"> <INPUT type="submit" name="submitknop" value="test"> </FORM> |
De server draait op Windows 2003, webserver is Apache voor windows 2.2.9, PHP 5.2.6 en mysql 5.0.86. (Versienummers van voor de crash heb ik niet)