ID: 26004 Updated by: [EMAIL PROTECTED] Reported By: jacknorton101 at hotmail dot com -Status: Open +Status: Feedback Bug Type: *General Issues Operating System: RedHat Linux 9 PHP Version: 4.3.3 New Comment:
Check your httpd.conf (probably in /etc/httpd/conf) if there's some directive that limits the maximum length of incoming data. See bug #22138 for detail Previous Comments: ------------------------------------------------------------------------ [2003-10-27 10:47:18] jacknorton101 at hotmail dot com Description: ------------ The following code works in my local development environment (Win ME, Apache 1.3.2, PHP 4.3.2) but not on my host (RedHat 9, Apache 2.0.4, PHP 4.3.3). None of the form inputs defined after the <input type="file" size="40" name="userfile"> line are set in $_POST (all of those appearing before are). Therefore $_POST['submitimage'] does not get set. If I take out enctype="multipart/form-data", or replace it with "multipart/mixed" the $_POST variables are set, but the file is not available. The following php.ini directives are identical in both the local and host environments: File_Uploads = On Upload_Max_Filesize = 2M Upload_Tmp_Dir = (default) Post_Max_Size = 8M In my local environment Register_Globals is Off, and the host environment has them on. I have searched previous bug reports, and though I have seen similar problems, they all seem to be closed and rectified some time (over a year) ago, but my host is on release 4.3.3 - i.e. later than my dev environment. Thanks in anticipation, Jack. Reproduce code: --------------- .... if(!isset($_POST['submitimage'])) {.... <form action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data" method="post"> <input type="text" maxlength="60" size="40" name="caption"> <input type="file" size="40" name="userfile"> <input type="hidden" name="MAX_FILE_SIZE" value="2000000"> <input type="submit" name="submitimage" value="Submit"> <input type="reset" value="Reset"> <input type="button" onClick="window.close();" name="noaction" value="No Action"> </form> .... <?php } elseif('Submit'==$_POST['submitimage']) { //process file .... Expected result: ---------------- I would expect the $_POST variables to be set, for example $_POST['submitimage'] should be set and allow the elseif clause to execute. Actual result: -------------- Only the $_POST variables defined in lines above the line: <input type="file" size="40" name="userfile"> get set. The ones below, including $_POST['submitimage'] do not get set. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=26004&edit=1