I'm using a simple form to upload 5 files:
<form enctype="multipart/form-data" action="openaccount.php" method="post">
<h4>Proof of Identity of Account Operator 1</h4>
<p>Government issued Photo ID to verify identity:
<br/><input name="tidentity_proof" type="file" />
<p>Documentation to verify permanent residential address:
<br/><input name="taddress_proof" type="file" />
<h4>Proof of Identity of Account Operator 2 (if any)</h4>
<p>Government issued Photo ID to verify identity:
<br/><input name="tidentity_proof2" type="file" />
<p>Documentation to verify permanent residential address:
<br/><input name="taddress_proof2" type="file" />
<h4>Signed Fund Agreement</h4>
<p>Choose a file to upload:
<br/><input name="tagreement" type="file" />
<input type="submit" name="submit" value="Submit" />
</form>
As each of the 5 files is mandatory, I have a check when the form is submitted to see if all 5 have been uploaded:
if($_FILES['tidentity_proof']['name']=="" || $_FILES['tidentity_proof2']['name']=="" || $_FILES['taddress_proof']['name']=="" || $_FILES['taddress_proof2']['name']=="" || $_FILES['tagreement']['name']==""){
$_SESSION['message'].="You must upload files as identity proof.";
}
If I choose files for all 5 fields, the first 4 work fine but the 5th doesn't. So if I do echo $_FILES['tagreement']['name']; I get an empty string and if I do the same for all the others the file name is correctly printed out. What am I missing here?
EDIT: It doesn't matter that the 'tagreement' field is last on the list, I tried moving it before the others and it still doesn't work.
print_r($_FILES):
Array (
[tidentity_proof] => Array (
[name] => cathypersons_deerdoe.jpg
[type] => image/jpeg
[tmp_name] => /tmp/phpcfeBC9
[error] => 0 [size] => 40299
)
[taddress_proof] => Array (
[name] => cheetah20cubs.jpg
[type] => image/jpeg
[tmp_name] => /tmp/phpRp4qu1
[error] => 0 [size] => 84873
)
[tidentity_proof2] => Array (
[name] => cheetah20cubs.jpg
[type] => image/jpeg
[tmp_name] => /tmp/phpCpGkmT
[error] => 0
[size] => 84873
)
[taddress_proof2] => Array (
[name] => cathypersons_deerdoe.jpg
[type] => image/jpeg
[tmp_name] => /tmp/phpBUBheL
[error] => 0
[size] => 40299
)
)
print_r($_FILES), what do you get?<p>tags. While with HTML5 you don't technically have to do this, it sure does make a mess of your HTML.