将过多的电话号码传递给网址失败 - 发送短信API

opt*_*rce 5 php mysql sms

我有一个应用程序正在构建并在其中实现一个短信API,但它发送到几个数字,当我从数据库中选择所有并发送时,它应该发送到大约1100个数字,但它什么也没做.

我发现它没有发送,因为数字被传递到url的长度,因为我回显了数字并将它们复制到之前发送的textarea中.

我也将数量减少到大约一百五十,但它没有抛出错误但没有发送,我该如何纠正这一点.

请参阅下面的发送示例代码

    $phone_group_total = $phone_numbers.", ".$send_it.", ".$selected_staffs;
     function httpRequest($fields, $sendpage){
     $curl = curl_init($sendpage);
     curl_setopt($curl, CURLOPT_POST, true);
     curl_setopt($curl, CURLOPT_POSTFIELDS, $fields);
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
     $result = curl_exec($curl);
     curl_close($curl);

    $sendpage ="http://smsexperience.com/components/com_spc/smsapi.php?";
    $sendsms ="username=user&password=pass";
    $sendsms .="&sender=$sender_id";
    $sendsms .="&recipient=".$phone_group_total; 
    $sendsms .="&message=$message";
    httpRequest($sendsms, $sendpage);
Run Code Online (Sandbox Code Playgroud)

我为表单提交使用了get方法,我尝试使用post并且我的消息没有发送.如何修复它并发送到大量设置.谢谢.

opt*_*rce 0

   if(isset($_POST['send_sms']))
  {
  $sender_id = mysql_real_escape_string($_POST['sender_id']);
  $phone_numbers = mysql_real_escape_string($_POST['phone_numbers']);   
  $message = ($_POST['message']);   
  $client_phone = ($_POST['client_phone']);
  $employee_phone = ($_POST['employee_phone']);
  $tailor_phone = ($_POST['tailor_phone']);

  if($client_phone!="")
  {
   $sql = "SELECT mobile_phone FROM personal_details";  
   $res = mysql_query($sql) or die(mysql_error());
   $recipients = array();

   while($row = mysql_fetch_array($res)) {
    $recipients[] = $row['mobile_phone'];
   }

  $send_it = implode(', ', $recipients);

  }

   if($employee_phone!="")
 {
   $sql1 = "SELECT mobile_phone FROM employee_db";  
  $res1 = mysql_query($sql1) or die(mysql_error());
 $recipients1 = array();

  while($row1 = mysql_fetch_array($res1)) {
  $recipients1[] = $row1['mobile_phone'];
  }

  $send_it1 = implode(', ', $recipients1);
  }

  if($tailor_phone!="")
  {
  $sql2 = "SELECT mobile_phone FROM employee_db WHERE department='Tailors'";  
   $res2 = mysql_query($sql2) or die(mysql_error());
   $recipients2 = array();

while($row2 = mysql_fetch_array($res2)) {
$recipients2[] = $row2['mobile_phone'];
 }

 $send_it2 = implode(', ', $recipients2);
 }

  if($tailor_phone !="" && $employee_phone!="")
 {$selected_staffs = $send_it1;}else if($tailor_phone=='tailors' &&      $employee_phone=="")
 {$selected_staffs = $send_it2;}else if($tailor_phone=="" &&     $employee_phone=='employees')
 {$selected_staffs = $send_it1;}

 if($_POST['phone_numbers']=="")
 {
$phone_group_total = $send_it.", ".$selected_staffs;
 }else{
 $phone_group_total =       $phone_numbers.", ".$send_it.", ".$selected_staffs;}     
 function httpRequest     ($fields, $sendpage){
$curl = curl_init($sendpage);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $fields);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
curl_close($curl);
 }

    $sendpage ="http://smsexperience.com/components/com_spc/smsapi.php?";
    $sendsms ="username=user&password=pass";
    $sendsms .="&sender=$sender_id";
    $sendsms .="&recipient=".$phone_group_total;         $sendsms .="&message=$message";
    httpRequest($sendsms, $sendpage); }
Run Code Online (Sandbox Code Playgroud)

这是我的代码的后示例,它甚至没有看到变量 send_it 等。但 Get 方法可以看到一切并且工作正常。