upload form within a contact form, the upload form submit keeps submitting the whole form

点点圈 提交于 2019-12-04 05:33:41

问题


Got an upload and submit button within a php contact form, but upon clicking submit for file upload, this submit button submits the whole form, and so does the main submit button. Hence the user cannot upload a file. how can i make sure the file submit does not submit the whole form?

<table width="500" border="0" align="center" cellpadding="0" cellspacing="0" >
<tr>



<tr>
<td>
<!-- start here-->


<form action="contactform.php" method="post"> 
<table class="freecontact2form" border="0" width="400px">
<tbody>
<tr>
<td colspan="2"><span style="font-size: x-small;"> </span> <br /> <br /></td>
</tr>

<tr>
<td>Question 1<br>
  <br></td>
</tr>

<tr>
 <td><br>

   Answer 1 <input type="radio" name="ans" value="ans1" /><br />
  Answer 2 <input type="radio" name="ans" value="ans2"  /><br />
  Answer 3 <input type="radio" name="ans" value="ans3"  /><br />
  Answer 4 <input type="radio" name="ans" value="ans4"  /><br />

 </td> 
  </tr>

</tr>

<!--upload form Start here-->


<form action="upload_ac.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" >
<tr>
<td><strong>Upload form/strong></td>

</tr>

<tr>
<td>Below is for file upload:<br>
  <br></td>
</tr>

<tr>
<td>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>
</form>

<!--upload formend here-->





<tr>
<td style="text-align:center" colspan="2"><br /><br /> <input src="submit1.png" name="submit" type="image"> <br /><br /> 


 <br /><br /></td>
</tr>
</tbody>
</table>
</form>


<!-- end here -->

</td>
</tr>

</table>
</td>

</tr>
</table> 

回答1:


This doesn't work because your code currently contains a form enclosed into another form. This is not allowed to nest forms.

Your current code:

<form action="contactform.php" method="post"> 
...
<form action="upload_ac.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
...
</form>
...
</form>

Try this code instead:

<form action="contactform.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
Here you must add all the fields of the two previous forms.
</form>

You must also move the PHP code from upload_ac.php to contactform.php.

When you submit this new form, it will:

  • upload the file you selected
  • populate $_POST with the values of the fields


来源:https://stackoverflow.com/questions/14492594/upload-form-within-a-contact-form-the-upload-form-submit-keeps-submitting-the-w

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!