也许现在还为时尚早,但无法弄清楚问题......我已经制作了几种表格,但这次是因为我无法转发我的文件输入数据
这是我的 index.php (表单所在的位置):
<?php
if (isset($_POST['order'])) {
$file = $_POST['file1'];
echo $file;
}
?>
这是我的confirm.php:
{{1}}
我收到以下错误消息:
注意:未定义索引:第4行/Applications/MAMP/htdocs/.../confirm.php中的file1
我真的不明白这是什么问题。这是一个简单的摇滚形式,我认为这是正确的。你能帮我解决这个大问题吗? :DD Btw。表单继续除文件之外的所有其他输入数据。
谢谢, 马修
答案 0 :(得分:4)
由于您的输入类型是文件,因此您无法通过$_POST
`type="file"` // Not Accessible through `$_POST`
Php正在提供单独的http组$_FILES
,用于获取输入值,类型应为file
,如type="file"
因此,您可以通过$_FILES
if(isset($_POST['order'])){
$Input_File = $_FILES['file1'];
$Input_File_Name = $Input_File['name'];
$Input_File_type = $Input_File['type'];
$Input_File_tmp_name = $Input_File['tmp_name'];
$Input_File_size = $Input_File['size'];
}
答案 1 :(得分:4)
您正在使用多部分/表单数据,但您只提供文件名字段。它将被这样使用。
<?php
if (isset($_POST['order'])) {
$file =$_FILES['file1']['name'];
echo $file;
}
?>
答案 2 :(得分:2)
您无法使用$_POST
来访问<input type="file" />
的值。
您可以使用$_FILES
试试这个:
<?php
if (isset($_POST['order'])) {
$file = $_FILES["file1"]["name"];
echo $file;
}
?>