Я сделал форму с несколькими полями (имя, название и т. Д.), Включая загрузку изображений, в которой хранятся поля в моей базе данных 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'] отсутствуют):
["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" }
Если я продолжаю повторять одну и ту же форму снова и снова, данные остаются без изменений. Но когда я подожду минуту и повторю попытку, все данные для сообщения вернутся.
Это кажется проблемой памяти для меня, но я не могу ее точно определить. Изображение, которое я размещаю, имеет размер только 700 КБ, а остальные переменные и изображение вместе не должны быть большими для следующих параметров php на веб-сервере:
Кто-нибудь имеет представление о том, что может привести к тому, что почтовые данные будут отсутствовать при публикации в успешном порядке?
по запросу my 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);
Я нашел решение своей проблемы. Я получил ошибку «3» в моей загрузке файла, что означает, что файлы succesive были только частично загружены.
Я искал то, что могло бы случиться, и нашел ответ здесь: 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»); Это заставит соединение быть закрытым, и для открытия нового подключения для загрузки файла, который позволяет загружать файл должным образом.
Кажется, что код работает нормально для меня. Я думаю, вы должны искать проблему на других промежуточных PHP-файлах.
Не могли бы вы также включить источник administrator/index.php
? Я хочу посмотреть, как вы обрабатываете форму. Это var_dump($_REQUEST);
на index.php
?