我正在尝试发送两个表单,一个用enctype="multipart/form-data"
进行文件上传,另一个没有。我的问题只是其中一个正在工作。提交按钮不会发送两个表单。
我尝试了什么:
<?php
echo '<form method="post" action="' . $PHP_SELF . '">';
....
echo '<input type="submit" name="submit" value="Submit"><br>';
echo "</form>";
echo '<form action="' . $PHP_SELF . '" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit"></form>';
if (isset($_FILES["file"]["name"])){
$file_name = $_FILES['file']['name'];
if ($_FILES["file"]["error"] > 0) {
echo "Error: " . $_FILES["file"]["error"] . "<br>";
} else {
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
move_uploaded_file($_FILES['file']['tmp_name'], '../images/' . $file_name);
}
}
?>
答案 0 :(得分:4)
这是它在HTML中的工作原理。您一次只能发送一个表单。唯一的解决方法是使用一个表单发送所有数据。
答案 1 :(得分:1)
只需尝试使用以下内容:
<?php
echo '<form method="post" action="' . $PHP_SELF . '">';
....
echo '<input type="submit" name="Submit_Button_One" value="Submit"><br>';
echo '</form>';
echo '<form action="' . $PHP_SELF . '" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="Submit_Button_Two" value="Submit"></form>';
/*First Form Submit*/
if(isset($_POST['Submit_Button_One']))
{
$dataValue = $_POST['data'];
}
/*Second Form Submit*/
if(isset($_POST['Submit_Button_Two']))
{
if(isset($_FILES["file"]["name"])){
$file_name = $_FILES['file']['name'];
if($_FILES["file"]["error"] > 0) {
echo "Error: " . $_FILES["file"]["error"] . "<br>";
} else {
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
move_uploaded_file($_FILES['file']['tmp_name'], '../images/' . $file_name);
}
}
}
?>
我认为这可以帮助您解决问题。
注意:为提交按钮指定不同的名称。然后就可以从两个表格中获得所需的数据。