我有以下javascript函数:
function pageRedirect() {
window.location.replace("ProdTypes.php");
}
setTimeout("pageRedirect()", 3000);
在PHP if else语句中(见下文):
if($ptRowCount > 0) :
if ($ptQTYRowCount > 0):
$errors[]='Cannot delete or Archive product which has a Product Quantity > 0!!! Refreshing Page in 3 seconds...';
?>
<script>
pageRedirect();
</script>
<?php
elseif($ptQTYRowCount == 0):
$sql = "UPDATE producttype SET ProdTypeArchive='1' WHERE ProductTypeID = '$delete_id'";
$_SESSION['success_flash']='Product Type was Archived succesfully';
endif;
else:
$sql = "DELETE FROM producttype WHERE ProductTypeID = '$delete_id'";
$_SESSION['success_flash']='Product Type was deleted succesfully';
endif;
我要求javascript计数器仅在if ($ptQTYRowCount > 0):
目前,即使没有触发if语句,它也正在重写页面。
任何人都可以帮忙吗?
P.S。我不想使用Header进行重定向。当我使用标题时,我有以下错误:
警告:无法修改标头信息 - 已在C:\ xampp \ htdocs \ aresV2 \ admin \ ProdTypes中发送的标头(输出从C:\ xampp \ htdocs \ aresV2 \ admin \ includes \ navigation.php:48开始)第51行的.php
答案 0 :(得分:0)
您的问题尚不清楚,但如果您在页面中包含整个代码块(函数+ setTimeout语句),则会导致页面在3秒后重新加载。
解决方案是删除setTimeout行,并在if语句中替换
?>
<script>
pageRedirect();
</script>
<?php
与
?>
<script>
setTimeout("pageRedirect", 3000);
</script>
<?php
至于尝试使用标头重定向时出现的错误,这里的answered before就是这样的