HTTP Status spookt!

Status
Niet open voor verdere reacties.

James007

Meubilair
Lid geworden
7 jan 2005
Berichten
5.794
Hallo!

Ik ben bezig aan een uploadscript in php dat moet werken met een flash uploadobject. Omdat de werking van het flashobject erg afhangt van de HTTP Status die de php-upload teruggeeft, is het erg belangrijk dat er een juiste code wordt teruggegeven.

In mijn php script doe ik een aantal checks op de upload data, en als één van die checks faalt, wordt er deze functie aangeroepen:

PHP:
HandleError("Dit zinnetje beschrijft de fout.");

De functie HandleError geeft een 500 HTTP Status terug, met als HTML de ingevoerde zin:
PHP:
function HandleError($message) {
    header("HTTP/1.1 500 Internal Server Error");
	echo $message;
    exit(0);
}

Helemaal op het einde van mijn code (waarbij er nog niets is teruggegeven aan de html, anders kun je uiteraard geen headers meer setten), staat er dit:
PHP:
header('HTTP/1.1 200 OK');
	exit(0);

Mijn uploadscript werkt nu perfect, waarbij ik er dus vanuit ga dat er geen enkele check faalt omdat alles dan meteen wordt stopgezet. Er wordt ook geen fout meer geprint, de html van de pagina is dus leeg.

Als ik echter met mijn Web Developer Toolbar ga kijken naar de output headers van de pagina, zie ik:

Date: Sat, 17 Oct 2009 17:27:50 GMT
Server: Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.8
X-Powered-By: PHP/5.2.8
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 28
Connection: close
Content-Type: text/html

500 Internal Server Error

Ik zit dus nu met een volledig werkend uploadscript dat toch een 500-code retourneert zonder zinnetje uitleg. Dit is heel vreemd want bij elke mogelijke fout staat er een zinnetje uitleg. (De HandleError functie eist een argument, nl een uitlegzin) Op de één of andere manier wordt de header verzonden, zelfs al wordt de functie niet opgeroepen.

Heeft iemand van jullie weet dat je header-functies niet mag gebruiken in een methode? Ik vind het allemaal een beetje bizar hoor.
 
Laatst bewerkt:
Ik stel duidelijk te moeilijke vragen. Ik zet hem ff op opgelost.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan