删除记录后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>

ajax成功后重新加载页面

重新加载页面时删除哈希?

无需重新加载页面即可删除 SQL 值(AJAX、PHP)

Bug: 删除中间某条记录后/删除最后一条记录再添加 ,auto-increment的自动增长不连续

SP插入后,下一页有一个空结果,直到重新加载