2014-01-31 149 views
0

我有一个PHP代码:URL中环PHP,请求URI

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"";} 

,我试图做到这一点环路(IDS应该例如从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""; 
    } 
?> 

我该怎么做更多,我的问题在哪里?

+0

你会得到什么错误?或什么不能正常工作? – andrew

+0

你真的需要扩大,这不是很清楚。 –

+0

您分配'$ page',但然后使用'$ url'?那里还有一个'$ id'。 – Albzi

回答

0

好吧,您忘记了添加您的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""; 
     } 
    } 
?> 

这里是一个更正。

  • 我加入了,如果
  • 固定几个;失踪
+0

谢谢:)我不得不删除第一行并将$ id更改为例如500,因为我知道我有多少个ID :) – user3045185

0

我认为你需要这样的:

如果你有ID的范围内,那么你可以smiply做到这一点:

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

,如果你有随机的ID,那么你可以这样做:

IDS的

,并使阵列:

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

然后简单地检查像这样的,如果电流id rray:

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

} 
else { 
    echo ""; 

} 

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

+0

如果他们不得不这样做很多次! – Albzi

+0

但我需要这样做在一个循环,因为它会是很多情况下(ids) – user3045185

+0

@ user3045185:你尝试过吗? –