Strac72 Posted September 8, 2011 Share Posted September 8, 2011 Hi all, I'm using some code that I got from the net (I forget where but all credit to the author). I've tried to adapt it to suit my own needs (almost suceeded?). I have an upload page with 5 file uploads which is processed by this script: (I've annotated where I think the problems may be) UPLOAD FORM <table width="600" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#993399"> <tr> <form action="../uploads/upload2.php" method="post" enctype="multipart/form-data" name="form1" id="form1"> <td> <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#993399"> <tr> <td><div align="center"><strong><h3>Upload your files</h3></strong></div></td> </tr> <tr> <td align="center">Select file <input name="ufile[]" type="file" id="ufile[]" size="50" /></td> </tr> <tr> <td align="center">Select file <input name="ufile[]" type="file" id="ufile[]" size="50" /></td> </tr> <tr> <td align="center">Select file <input name="ufile[]" type="file" id="ufile[]" size="50" /></td> </tr> <tr> <td align="center">Select file <input name="ufile[]" type="file" id="ufile[]" size="50" /></td> </tr> <tr> <td align="center">Select file <input name="ufile[]" type="file" id="ufile[]" size="50" /></td> </tr> <tr> <td align="center"><input type="submit" name="Submit" value="Upload" /></td> </tr> </table> </td> </form> </tr> </table> Here is "uploads.php" <?php $path1= "../uploads/".$HTTP_POST_FILES['ufile']['name'][0]; $path2= "../uploads/".$HTTP_POST_FILES['ufile']['name'][1]; $path3= "../uploads/".$HTTP_POST_FILES['ufile']['name'][2]; $path4= "../uploads/".$HTTP_POST_FILES['ufile']['name'][3]; $path5= "../uploads/".$HTTP_POST_FILES['ufile']['name'][4]; copy($HTTP_POST_FILES['ufile']['tmp_name'][0], $path1); copy($HTTP_POST_FILES['ufile']['tmp_name'][1], $path2); copy($HTTP_POST_FILES['ufile']['tmp_name'][2], $path3); copy($HTTP_POST_FILES['ufile']['tmp_name'][3], $path4); copy($HTTP_POST_FILES['ufile']['tmp_name'][4], $path5); include '../includes/smile.php'; echo "<table width=\"900\"height=\"180\"cellpadding=\"5\" cellspacing=\"5\" background=\"../images/upbg.png\" align=\"center\"> <tr><td align=center><img src=\"$path1\" width=\"100\" height=\"100\"></td>"; echo "<td align=center><img src=\"$path2\" width=\"100\" height=\"100\"></td>"; echo "<td align=center><img src=\"$path3\" width=\"100\" height=\"100\"></td>"; echo "<td align=center><img src=\"$path4\" width=\"100\" height=\"100\"></td>"; echo "<td align=center><img src=\"$path5\" width=\"100\" height=\"100\"></td></tr></table>"; $filesize1=$HTTP_POST_FILES['ufile']['size'][0]; $filesize2=$HTTP_POST_FILES['ufile']['size'][1]; $filesize3=$HTTP_POST_FILES['ufile']['size'][2]; $filesize4=$HTTP_POST_FILES['ufile']['size'][3]; $filesize5=$HTTP_POST_FILES['ufile']['size'][4]; if($filesize1 && $filesize2 && $filesize3 && $filesize4 && $filesize5 !=0) // possible error? { echo "<h3 align=center><img src=\"../images/niceone.png\"></h3>"; include '../includes/smilefoot.php'; } else { echo "<meta http-equiv='Refresh' content='0; url=../includes/fail.php'>"; // possible error? } ?> It took me an entire day to get it at this level of functionality where if you sucessfully upload your files you get a success message on the same page but otherwise are redirected to a failure page. The problem is, if you don't upload a file for each of the 5 form inputs, you get the succes message and then redirected to the fail page. Someone who actually knows something about php will probably see a solution straight away but I don't know anything much really and I have few ideas on how to fix this. I am beginning to suspect that it is my redirect method but I have no idea how to do it differently. I'd be really grateful if someone could explain what I'm doing wrong here, this is for my personal family site and I want it to be good. It took me a week to do the login! What I'd love to achieve is exactly the same as the attachment box(es) right below where I am typing now. I have attached my two relavent pages. Thanks in advance. Paul [attachment deleted by admin] Link to comment https://forums.phpfreaks.com/topic/246685-redirection-error-after-upload/ Share on other sites More sharing options...
nilansanjaya Posted September 8, 2011 Share Posted September 8, 2011 try using, <?php header("Location: path_to_fail_page.php"); ?> Link to comment https://forums.phpfreaks.com/topic/246685-redirection-error-after-upload/#findComment-1266734 Share on other sites More sharing options...
voip03 Posted September 8, 2011 Share Posted September 8, 2011 Make sure you exit after a PHP Header Location Without the exit; after the Header Location call, execution will continue down the page. Make sure you call exit after a PHP Header call to Location if you want execution to branch immediately! header("Location: http://www.mysite.com/");exit(); Link to comment https://forums.phpfreaks.com/topic/246685-redirection-error-after-upload/#findComment-1266743 Share on other sites More sharing options...
Strac72 Posted September 11, 2011 Author Share Posted September 11, 2011 Thank you both for your input. I had already tried a header (Location: x) before but ended up going with the meta equivalent as it was the only thing that worked. I did try implementing your ideas in every possible combination but it still wouldn't work for me. I have to admit defeat. I've ended up spending £15 on an uploading script to save me going any greyer and my brain melting. Maybe I should have spent it on a php for Dummies book! Thanks for the exit pointer, but that was the end of the php. I will remember it for the future though. Thanks, both, for your time. I did learn what an absolute path was though. I thought it was just the full http address! Link to comment https://forums.phpfreaks.com/topic/246685-redirection-error-after-upload/#findComment-1268135 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.