【发布时间】:2014-07-31 16:01:53
【问题描述】:
我正在尝试在我的数据库中开发某种自动插入系统,为了使其正常工作,我需要重定向回同一页面大约 2400 次。此页面仅供一次性使用,在它编辑了我的数据库的每一行后,我打算将其删除。
我想知道是否有人知道如何禁用或绕过 Google Chrome 的“此网站存在重定向循环”错误页面。我知道有一个重定向循环,它是设计的(因为我想不出任何其他方法来做到这一点)。
这是目前的代码:
<?php
include "db/connect.php";
include "db/select.php";
include "functions/getStatics.php";
error_reporting(E_ALL | E_WARNING | E_NOTICE);
if(isset($_GET['pos'])) {
$id = $_GET['pos'];
} else {
$id = 1;
}
$all = dbSelect("SELECT * FROM wh_systems WHERE id = $id");
$name = $all[0]->name;
$id = $all[0]->id;
$statics = getStatics($name);
echo $name.' - '.$id.' - '.$statics;
$sql = "UPDATE wh_systems
SET statics='$statics'
WHERE id=$id";
$update = $db->query($sql);
$location = "?pos=".($id+1);
header("Location: " . "http://" .$_SERVER['HTTP_HOST'].'/'. $_SERVER['PHP_SELF'] . $location);
当我运行它时,只有大约 22 行(或 22 次重定向),页面才会停止并吐出错误。
如果您知道此问题的任何解决方法,请告诉我,
谢谢。
【问题讨论】:
-
没有理由继续重新加载页面。您应该运行您的 select 语句以获取您想要处理的所有结果,然后为您要更新的每个 $id 执行一段时间或 for 循环该结果集。
-
最简单的答案是:不要这样做。您基本上是在重新设计带有重定向的 for 循环。
-
所以基本上是这样的? stackoverflow.com/questions/24135485/… 试过了,更新了~20次页面就超时了。
标签: php google-chrome redirect