在使用codeigniter发布多部分表单时,我遇到了麻烦。表单包含文本字段和8个文件上载字段。问题是,文件上传成功没有错误,但我的控制器中的文本字段为空。
我尝试print_r POST数据并获得一个空数组。但有时当我使用谷歌浏览器时,它没有任何问题。
任何解决方案?
答案 0 :(得分:0)
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1234567890123",
"Effect": "Allow",
"Action": [
"s3:DeleteObject",
"s3:GetObject",
"s3:ListBucket",
"s3:PutObject"
],
"Resource": [
"*"
]
}
]
}
//假设您的表单如上所示,以检查文本字段值
<form name="form" action="some action page.php" method="post" enctype="multipart/form-data">
<input type="text" name="inputfieldvalue" value="Input Field">
<input type="file" name="uploadedfile" id="uploadedfile">
<input type="submit" value="Submit" >
</form>
//将name属性传递给$ _POST [你的名字段值]。像这样
答案 1 :(得分:0)
完整的例子应该有效。
您的表单目标操作在my_form
控制器中运行My_controller
。以免尝试输入名称为WTF
<form name="form" action="my_controller/my_form" method="post" enctype="multipart/form-data">
<input type="text" name="WTF" value="Input Field">
<input type="submit" value="Submit" >
</form>
My_controller.php
文件(CI控制器文件夹)中的cotroller操作应该看起来像这个
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class My_controller extends CI_Controller {
function __construct() {
parent::__construct();
}
public function index(){
/* do something for page my_controller if you want */
} // end of index
function my_form() { // = my_controller/my_form
$here_is_it = $this->input->post('WTF'); // call value of input with name WTF
/* test it */
print_r($here_is_it);
}
额外,确保一切顺利。您可以在Codeigniter中启用自动加载功能。 follow this tutorial
答案 2 :(得分:0)
我只是检查一下,问题不在php或我的html表单代码中。但问题出在我的php.ini配置中。通过增加上传最大文件大小来解决问题。我之前感到很困惑,因为形式有时运作良好,有时会给出一个空值。
提前致谢