删除记录后PHP页面不会自动重新加载?
Posted
技术标签:
【中文标题】删除记录后PHP页面不会自动重新加载?【英文标题】:PHP page not reloading automatically after deleting record? 【发布时间】:2015-01-26 19:16:49 【问题描述】:删除记录后,我已将标题发送到上一页,但没有发生,我该如何解决..
记录已被删除,但当页面从服务器重新加载时,按 ctrl + f5 后仍显示在该页面中,此时显示删除效果。
<?php
include('../config.php');
$table=$_REQUEST['table'];
mysql_query("DELETE FROM ".$table." WHERE id=".$id);
$_SESSION['message']="Deleted Successfully....";
header('Location: ' . $_SERVER['HTTP_REFERER']);
?>
在所有页面中也发生同样的事情,adter edit add 并且所有数据库操作在 ctrl+f5 按下后都显示效果......
【问题讨论】:
在此处粘贴您的代码。 我已经编辑了问题请显示它...?它在项目位于本地主机时正常工作...... 【参考方案1】:你还没有初始化变量$id
mysql_query("DELETE FROM ".$table." WHERE id=".$id); // Where is $id initialized?
你忘记添加了吗
$id = $_REQUEST['id'];
如果您的$id
未初始化,definitley, mysql_query
将执行一些查询,例如:
DELETE FROM ".$table." WHERE id=
这不会得出任何结论,因此不会发生删除。
注意事项:
1) 不要使用 mysql_ 函数,它们是deprecated and will be removed in upcoming PHP versions.
2) 您将来自$_REQUEST
的变量直接提供给您的SQL。变量必须是sanitized。
【讨论】:
如果他正在使用 register_globals 那么 $id 可能会被初始化。 Anakbhai:打印 mysql_query("DELETE FROM ".$table." WHERE id=".$id);在第一行,所以您会看到发送到数据库的查询...【参考方案2】:试试这个:
<script>
window.location.href="<?php echo $_SERVER['HTTP_REFERER']; ?>";
</script>
【讨论】:
以上是关于删除记录后PHP页面不会自动重新加载?的主要内容,如果未能解决你的问题,请参考以下文章
PHP 标头重定向不会在 IE 中重新加载 <iframe>