<form id="form" method="post" action="otherpage.php" enctype="multipart/form-data">
<input type="text" name="first" value="Bob" />
<input type="text" name="middle" value="James" />
<input type="text" name="last" value="Smith" />
<input name="image" type="file" />
<button type='button' id='submit_btn'>Submit</button>
</form>
<script>
$(document).on("click","#submit_btn",function(e){
//Prevent Instant Click
e.preventDefault();
// Create an FormData object
var formData =$("#form").submit(function(e){
return ;
});
//formData[0] contain form data only
// You can directly make object via using form id but it require all ajax operation inside $("form").submit(<!-- Ajax Here -->)
var formData = new FormData(formData[0]);
$.ajax({
url: $('#form').attr('action'),
type: 'POST',
data: formData,
success: function(response) {console.log(response);},
contentType: false,
processData: false,
cache: false
});
return false;
});
</script>
///// otherpage.php
<?php
print_r($_FILES);
?>
Лучший способ состоит в том, чтобы зарегистрировать Ваши ошибки вместо того, чтобы отобразить или проигнорировать их.
Этот пример зарегистрирует ошибки к системному журналу вместо того, чтобы отобразить их в браузере.
ini_set("display_errors", 0);
ini_set("log_errors", 1);
//Define where do you want the log to go, syslog or a file of your liking with
ini_set("error_log", "syslog"); // or ini_set("error_log", "/path/to/syslog/file");
Принятие Вас управляет файлом php.ini, можно внести эти изменения глобально в том файле вместо того, чтобы иметь наложение кода ini_set вокруг во всех php файлах (который Вы могли бы забыть вставлять один из своих файлов однажды, которые могли плохо работать).
Можно также использовать апачский .htaccess для входа ошибок, не касаясь кода:
<IfModule mod_php5.c>
php_flag display_errors Off
php_flag log_errors On
php_value error_log logs/errors
</IfModule>
Файлы распределения PHP, к сожалению, отправляют смешанное сообщение о сообщениях ошибки из-за неправильного обращения. Файл php.ini по умолчанию имеет некоторые настройки, подходящие для рабочих серверов и других лучше для серверов разработки. Необходимо включить все ошибки в dev (error_reporting = E_ALL
и display_errors = On
), и прочь в напоминании (display_errors = off
, но точка log_errors
где-нибудь). Однако приложите все усилия, чтобы удостовериться, что нет никаких ошибок (или они обрабатываются).
Лучший способ? Зафиксируйте ошибки!
при необходимости в быстром временном решении тогда нормально выключать display_errors, но удостоверяться Вы регистрируете их где-нибудь, потому что та установка сделает серьезные / ошибки анализа тихими иначе.
установите переменную среды на своей машине разработки. затем можно проверить среду в начале кода удостовериться, что Вы находитесь на среде разработки. затем можно установить уровень сообщения об ошибке PHP, при помощи error_reporting () функция.
if ( isset($_ENV['MY_APP_MODE']) && ($_ENV['MY_APP_MODE'] == 'devel') ) {
error_reporting(E_ALL);
} else {
error_reporting(0);
}