【发布时间】:2016-04-22 11:33:06
【问题描述】:
我在 cakephp 工作。我创建了一个表单,其中包括文件上传和文本框和文本区域。
这里,我的 html 代码如下所示:
<form action="" id="frmReg" method="post" enctype= "multipart/form-data">
<div style="position:relative; margin-bottom:30px;" class="fildtpart4">
<label><?php __d('statictext', 'Question', false); ?>:</label>
<span>
<textarea class="validate[required]" name="question1['question']" cols="" rows=""></textarea>
<div style="color: red; position:absolute ; bottom:-25px ;" id="charNum"></div>
</span>
<div class="clear"></div>
<div class="fildtpart3">
<label><?php __d('statictext', 'Currect Answer', false); ?></label>
<span>
<input name="question1['currect_ans']" type="text" class="validate[required]" id="" value="">
<input type="file" class="validate[required]" onchange="showMyImage1(this)" name="question1['sponsor_image']" id="" />
<input type="file" class="validate[required]" onchange="showMyImage2(this)" name="question1['question_image2']" id="" />
</span>
<input type="submit" value="submit" name="submit">
<div class="clear10"></div>
</div>
</div>
<form>
当我提交此表单时,它只会显示图像而不是所有数据。
在我的控制器中,我写了:
function add_polls()
{
print_r($this->params['form']);exit;
}
然后它给出如下输出:
array(
[question1]=>array(
[name] => Array
(
['sponsor_image'] => contact.jpg
['question_image2'] => contact.jpg
)
[type] => Array
(
['sponsor_image'] => image/jpeg
['question_image2'] => image/jpeg
)
[tmp_name] => Array
(
['sponsor_image'] => /tmp/phpUK7Vcj
['question_image2'] => /tmp/php3SCWGZ
)
[error] => Array
(
['sponsor_image'] => 0
['question_image2'] => 0
)
[size] => Array
(
['sponsor_image'] => 2305
['question_image2'] => 2305
)
)
)
这里,它没有打印 question1['currect_ans'] 和 question1['question']。当我从表单中删除 enctype 时,它将显示所有值。那么我该如何解决这个问题呢?
注意:CakePHP 版本为 1.3.13。
【问题讨论】:
-
您能否尝试将 enctype 设置为 multipart/mixed。
-
@DiomedesAndreou 如果我使用 enctype 作为 multipart/mixed 可以上传图片吗?
-
请务必提及您使用的确切 CakePHP 版本!
-
@ndm CakePHP 版本是 CakePHP(tm) v 0.2.9
-
没有这样的 CakePHP 版本(不再),您很可能正在查看
@since标记。正确的版本号可以在 CakePHP 核心代码文件夹的VERSION.txt文件中找到。也请在您的问题中添加此类信息,并相应地标记它,不要只是将其放在评论中。