URL循环php,请求URI



我有一个php代码:

if($_SERVER['REQUEST_URI'] == '/?task=entry.add&sid=67'){echo'<script type="text/javascript">window.location.assign("/index.php");</script>';}else{echo"";}
if($_SERVER['REQUEST_URI'] == '/?task=entry.add&sid=68'){echo'<script type="text/javascript">window.location.assign("/index.php");</script>';}else{echo"";}
if($_SERVER['REQUEST_URI'] == '/?task=entry.add&sid=69'){echo'<script type="text/javascript">window.location.assign("/index.php");</script>';}else{echo"";}

,我正在尝试以循环进行此操作(例如,ID应该是67至100)

<?php
  $page = $_POST['id'];
  for ($i=1; $i<=$id; $i++){
    $url = "/?task=entry.add&sid=".$i."<br/>";
    echo'<script type="text/javascript">window.location.assign("/index.php");</script>';}else{echo"";
  }
?>

我该怎么办,我的问题在哪里?

好吧,您忘了添加if语句。

<?php
    $id = $_POST['id'];
    for ($i=1; $i<=$id; $i++)
    {
        $url = "/?task=entry.add&sid=".$i;
        if ($_SERVER['REQUEST_URI'] == $url)
        {
            echo '<script type="text/javascript">window.location.assign("/index.php");</script>';
        }
        else
        {
            echo"";
        }
    }
?>

这是一个校正。

  • 我添加了if
  • 修复了几个;缺少

我认为您需要这样的:

如果您有ID范围,则可以做到这一点:

if (isset($_REQUEST['id']) && $_REQUEST['id'] >66 && $_REQUEST['id'] <= 100) {
 echo'<script type="text/javascript">window.location.assign("/index.php");</script>'
}
else {
  echo "";
}

如果您有随机ID,则可以这样做:

制作ID数组:

$arrIds = array(67,68,69,.....,100);

然后,如果此数组中的当前ID如下:

if(isset($_REQUEST['id']) && in_array($_REQUEST['id'],$arrIds)){
 echo'<script type="text/javascript">window.location.assign("/index.php");</script>'
}
else {
  echo "";
}

它将检查当前ID是否在数组中,然后将回声脚本。它将不需要任何循环。这应该是有道理的。

最新更新