What I need is to get the filename from userfile[0], userfile[1] and userfile[2], so that I can insert the name into sql server when the file is being uploaded. Web Form <FORM action=upload2.php method=post encType=multipart/form-data> <TABLE cellPadding=10 width=770 align=center border=0> <TBODY> <TR> <TD align=middle> <H1>File Upload </H1></TD></TR> <TR> <TD> <P> </P></TD></TR> <TR> <TD vAlign=top align=middle> <TABLE cellPadding=3 align=center border=0> <TBODY> <TR> <TD><INPUT type=file name=userfile[0]></TD></TR> <TR> <TD><INPUT type=file name=userfile[1]></TD></TR> <TR> <TD><INPUT type=file name=userfile[2]></TD></TR> <TR> <TD align=middle colSpan=2><label>Name <input name="name" type="text" id="name" size="30"> </label></TD> </TR> <TR> <TD align=middle colSpan=2><label>Company <input name="company" type="text" id="company" size="27"> </label></TD> </TR> <TR> <TD align=middle colSpan=2><label>Info: <textarea name="info" cols="30" rows="5" id="info"></textarea> </label></TD> </TR> <TR> <TD align=middle colSpan=2><INPUT type=hidden value="<?= $sid ?>" name=sessionid> <INPUT type=submit value="Submit"> </TD></TR></TBODY></TABLE></TD></TR> Processing page <?php if ($_FILES['Filedata']['name']) { $uploadDir = "/".date("m.d.y")."-"; $uploadFile = $uploadDir . basename($_FILES['Filedata']['name']); move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploadFile); } $db = mysql_connect("server", "user","pass"); mysql_select_db("dbname",$db); $dates = date("m.d.y"); $sql = "INSERT INTO uploads (name,company,info,file1,file2,file3,dates) VALUES ('$name','$company','$info','$userfile[0]','$userfile[1]','$userfile[2]','$dates')"; $result = mysql_query($sql); ?>
Can you change your input names to userFile1, userFile2, useFile3 and use $fileName1 = addslashes($_POST['userFile1']['name']); $fileName2 = addslashes($_POST['userFile2']['name']); $fileName3 = addslashes($_POST['userFile3']['name']); So your $sql = "INSERT INTO uploads (name,company,info,file1,file2,file3,dates) VALUES ('$name','$company','$info','$fileName1','$fileName2','$fileName3','$dates')";
Thanks for the help, but it returns empty results. TR> <TD><INPUT type=file name=userFile1></TD></TR> <TR> <TD><INPUT type=file name=userFile2></TD></TR> <TR> <TD><INPUT type=file name=userFile3></TD></TR> $fileName1 = addslashes($_POST['userFile1']['name']); $fileName2 = addslashes($_POST['userFile2']['name']); $fileName3 = addslashes($_POST['userFile3']['name']); $sql = "INSERT INTO uploads (name,company,info,file1,file2,file3,dates) VALUES ('$name','$company','$info','$fileName1','$fileName2','$fileName3','$dates')";
Hi First thing is that you should use quotes around attribute values - that makes it valid code and more compatible, plus you can use more characters inside the values. So your code should be: <input type="file" name="userFile1"> HTML: Next thing is that PHP handles file uploads specially, to make it easy for you. Have a read of this article in the manual: http://php.net/features.file-upload You must follow all the notes in there, in order for file uploads to be enabled. Hope that helps - P
Ah, use the $_FILES superglobal array, which holds the information about the uploaded files. E.g. $fileName = $_FILES['userFile1']['name']; PHP: - P