重定向后继续循环

时间:2018-02-21 07:47:33

标签: php sms

我有一个while循环,我在其中设置重定向到具有一些变量的url。代码如下:

while ($row = mysqli_fetch_array($sqlresult))
{

    $message = "Shri/Smt/Ms.  '".$row['1']."' , Your event '".$row['2']."' , '".$row['4']."' For CROA Sports 2018 is on '". $row['7']."'  at  ".$row['8'].":".$row['9']."";

    header("Location: http://10.31.*.*/smsrcroa.asp?B1=RPM&F_MB_TO=".$row['10']."&F_SMS_T=".$message."");
}

当此while循环运行时,它仅向第一个记录发送SMS并重定向到指定位置。 while循环无法继续。我希望继续while循环。

2 个答案:

答案 0 :(得分:2)

而不是重定向使用cURL,它将调用您的URL而不重定向。这是可以做到这一点的功能:

function curl_get_contents($url)
{
  $ch = curl_init();

  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
  curl_setopt($ch, CURLOPT_HEADER, false);

  $data = curl_exec($ch);

  curl_close($ch);

  return $data;
}

header( ...替换为curl_get_contents( ...

如果在代码中调用此函数,它将如下所示:

while ($row = mysqli_fetch_array($sqlresult))
{

    $message = "Shri/Smt/Ms.  '".$row['1']."' , Your event '".$row['2']."' , '".$row['4']."' For CROA Sports 2018 is on '". $row['7']."'  at  ".$row['8'].":".$row['9']."";

    curl_get_contents("http://10.31.*.*/smsrcroa.asp?B1=RPM&F_MB_TO=".$row['10']."&F_SMS_T=".$message."");
}

答案 1 :(得分:0)

同样你也从下面的url重定向,这样这将返回while循环

header("Location: http://10.31.*.*/smsrcroa.asp?B1=RPM&F_MB_TO=".$row['10']."&F_SMS_T=".$message."");