我创建了一个包含几个字段(名称,标题等)的表单,其中包含一个图像上传文件,用于存储我的mysql数据库中的字段。
当我第一次提交表单时,我会收到所有发布的数据,并且能够使用发布数据来构建我的数据库查询。
帖子数据如下所示:
["option"]=>
string(9) "com_jimmo"
["jform"]=>
array(6) {
["id"]=>
string(0) ""
["lang_code"]=>
string(5) "nl-NL"
["title"]=>
string(0) ""
["jimmo_id"]=>
string(3) "141"
["path"]=>
string(0) ""
["featured"]=>
string(1) "0"
}
["task"]=>
string(11) "image.apply"
["controller"]=>
string(5) "image"
["244dd7871d511949f4cf87df21403258"]=>
string(1) "1"
当我再次发布完全相同的表格时,imediatly在前一个表格之后。很多Post数据都丢失了,我只收到了这个(jform ['featured']之后的所有post变量都丢失了):
["option"]=>
string(9) "com_jimmo"
["jform"]=>
array(6) {
["id"]=>
string(0) ""
["lang_code"]=>
string(5) "nl-NL"
["title"]=>
string(0) ""
["jimmo_id"]=>
string(3) "141"
["path"]=>
string(0) ""
["featured"]=>
string(1) "0"
}
如果我一遍又一遍地重新发布相同的表格,那么数据就会丢失。但是当我等待一分钟再试一次所有的帖子数据都回来了。
这对我来说似乎是一个记忆问题,但我无法确定它。我发布的图片只有700KB大,其他变量和图像组合不应该大到网络服务器上的以下php设置:
有人知道在以连续顺序发布时可能导致帖子数据丢失的原因吗?
根据要求我的html:
<form action="/administrator/index.php?option=com_jimmo" method="post" name="adminForm" id="jimmo-form" enctype="multipart/form-data">
<fieldset class="adminform">
<legend>afbeeldingen</legend>
<ul class="adminformlist">
<li><input type="hidden" name="jform[id]" id="jform_id" value=""></li>
<li><label id="jform_lang_code-lbl" for="jform_lang_code" class="">selecteer een taal</label><select id="jform_lang_code" name="jform[lang_code]">
<option value="0">default</option>
<option value="nl-NL" selected="selected">Dutch</option>
<option value="en-GB">English (UK)</option>
</select>
</li>
<li><label id="jform_title-lbl" for="jform_title" class="hasTip" title="">title</label><input type="text" name="jform[title]" id="jform_title" value="" class="inputbox" size="40"></li>
<li><label id="jform_jimmo_id-lbl" for="jform_jimmo_id" class="">pand</label><select id="jform_jimmo_id" name="jform[jimmo_id]">
<option value="125">Uitstekend gelegen app met twee slaapkamers </option>
<option value="156">test webmamba 2</option>
</select>
</li>
<li><label id="jform_path-lbl" for="jform_path" class="">afbeelding</label><select id="jform_path" name="jform[path]">
<option value="-1">- Niets geselecteerd -</option>
<option value="" selected="selected">- Gebruik standaard -</option>
<option value="141_1346935067.jpg">141_1346935067.jpg</option>
<option value="141_1347022237.jpg">141_1347022237.jpg</option>
</select>
</li>
<li><label id="jform_featured-lbl" for="jform_featured" class="">toon afbeelding als voorvertoning</label><select id="jform_featured" name="jform[featured]">
<option value="0" selected="selected">No</option>
<option value="1">Yes</option>
</select>
</li>
<li>
<label id="jform_jimmo_image-lbl" for="jform_jimmo_image" class="">Upload new Image</label>
<input type="file" name="jform_jimmo_image">
</li>
<li>
<label id="jform_jimmo_preview-lbl" for="jform_jimmo_preview" class="">Current Image</label>
<img name="jform_jimmo_preview" src="http://immo-outlook.be/images/jimmo/">
</li>
</ul>
</fieldset>
<div>
<input type="hidden" name="task" value="image.edit">
<input type="hidden" name="controller" value="image">
<input type="hidden" name="a059e7116c95f234bdac9458883d7b93" value="1"> </div>
</form>
动作的php代码只是var_dump($_REQUEST);
答案 0 :(得分:4)
我找到了解决问题的方法。我在文件上传中收到错误“3”,这意味着成功的文件只是部分上传。
我已经用Google搜索了导致这种情况发生的原因并在此处找到了答案:http://www.bizzeh.com/739/php-problem-with-upload_err_partial-file-upload-error-code-3
我刚刚花了3个小时试图找出原因 第三个文件将上传(然后文件只会随机上传)和 我继续得到UPLOAD_ERR_PARTIAL。结果是UPLOAD_ERR_PARTIAL 可以由标题Connection:Keep-Alive引起。如果你在工作 在需要大量文件上传的网络应用上,请务必使用 在您的上传器脚本上设置:header(“Connection:close”);这将 强制关闭连接,并建立新连接 打开上传文件,允许文件正常 上传。
答案 1 :(得分:0)
代码似乎对我有用。我认为你应该在其他中间PHP文件上查找问题。
您是否还可以添加administrator/index.php
来源?我想看看你如何处理表格。是var_dump($_REQUEST);
上的index.php
吗?