在我的表单中,我使用的是dropzoneJS。我试图在我的数据库中成功提交用户数据和图像时重定向用户。这是我试图这样做的方式。 我的表格 -
if(!empty($_POST)){
$userID = addUser() //This function create new user and return user id
if (!empty($_FILES)) {
//I have function here which will submit user images in a directory an create image path in DB table
}
HEADER('LOCATION: view.php?id='.$userID);//User redirected to their profile page
}//If ends
表格开始: -
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" class="dropzone form-horizontal" id="my-awesome-dropzone" method="post" enctype="multipart/form-data">
<input type blah.. blah..>
<input type blah.. blan..>
<!-- DropzoneJS div -->
<div class="dropzone-previews form-group" style="height: 350px;"></div>
<div class="fallback col-xs-3">
<input name="file" class="input-file form-control "type="file" multiple/>
</div>
<button type="submit" id="submit-all" class="btn btn-primary">Submit</button>
</form>
然后DropzoneJS设置
<script type="text/javascript">
Dropzone.options.myAwesomeDropzone = {
autoProcessQueue: false,
blah.. blah
blah.. blah
init: function() {
var myDropzone = this;
$("#submit-all").click(function (e) {
e.preventDefault();
e.stopPropagation();
if (myDropzone.files.length) {
myDropzone.processQueue(); // upload files and submit the form
} else {
$('#my-awesome-dropzone').submit(); // submit the form
}
});
}
}
</script>
现在,当用户填写并提交表单(dropzone字段中没有图像)时,用户数据将在我的数据库中提交,用户成功重定向到他们的个人资料页面(mywebsite.com/view.php?id=1)。这可以。
但问题是 - 当用户填写并提交表单(使用dropzone字段中的图像)时,用户数据和图像都会根据需要成功提交到我的数据库中但不会发生重定向。这不好。为什么没有重定向?
请说明哪里出错了。
答案 0 :(得分:0)
可能存在语法错误。试试这个:
if(!empty($_POST)){
$userID = addUser(); //This function create new user and return user id
if (!empty($_FILES)) {
//I have function here which will submit user images in a directory an create image path in DB table
}
header('Location: view.php?id='.$userID);//User redirected to their profile page
}//If ends
重定向的第二种方式:
header('Refresh: 5; URL='view.php?id='.$userID);
第三种重定向方式:
<?php echo '<meta http-equiv="Refresh" content="5; url='view.php?id='.$userID.'">';?>
第四种重定向方式:
<?php echo '<script type="text/javascript">setTimeout(function(){location.replace("view.php?id='.$userID.'");}, 5000);</script>';?>