我有一个用户个人资料的PHP文件,他们可以上传个人资料照片。表单在一个单独的文件中处理,该文件在上传文件中检查PHP我当前将用户标题为错误页面告诉他们错误但我想将包含错误的变量传回用户配置文件并显示它。
到目前为止,我已经到了这一点 文件1 - 用户档案
$avatar_form .= '<form id="avatar_form" action="photo_system.php" method="post" enctype="multipart/form-data">';
$avatar_form .= '<h1>Change avatar</h1>';
$avatar_form .= '<input type="file" name="avatar" required>';
$avatar_form .= '<p><input type="submit" value="Upload"></p>';
$avatar_form .= '<p>'.$photoerror.'</p>';
$avatar_form .= '</form>';
文件2 - 图像处理文件
if($width < 10 || $height < 10){
$photoerror = "That image has no dimensions";
echo $photoerror;
exit();
}
$db_file_name = rand(100000000000,999999999999).".".$fileExt;
if($fileSize > 1048576) {
$photoerror = "Your image file was larger than 1mb";
exit();
} else if (!preg_match("/\.(gif|jpg|png)$/i", $fileName) ) {
$photoerror = "Please only JPG, GIF or PNG images";
exit();
} else if ($fileErrorMsg == 1) {
$photoerror = "An unknown error occurred";
exit();
}
答案 0 :(得分:1)
使用jQuery将表单发布到第二页,然后在success函数中,您可以将处理过的图像加载到所需的容器中,而无需刷新页面。
如果是错误,那么在jQuery请求的成功或错误函数中,您可以显示一些javascript警报(“错误”);或者你可以用html显示它,而不必将它们重定向到另一个页面。
$("#form").submit(function(){
$.ajax({url: "process.php", success: function(result){
//Print the error message here
$("#errorMessage").html(result);
}});
});
在你的PHP进程文件中,回显一下 $ photoerror,,这个jQuery函数会选择它,然后你可以显示它。
访问此链接以获取示例:http://brian.staruk.me/php/2013/sample-jquery-php-ajax-script/