Отправка значения строки запроса через URL с помощью цикла foreach - PullRequest
0 голосов
/ 09 января 2012

Я использую codeigniter для приложения.Сначала я создал представление, состоящее из поля TextArea сообщения, DropDownlist, значение которого поступает из базы данных, и кнопки отправки.У меня есть база данных из двух столбцов, один для номера мобильного телефона, а другой для поставщика услуг. У меня есть предопределенный URL со значением строки запроса (http://www.something.com? Mobno = numbervar & msg = messagevar)

В классе модели у меня есть функция с именем getProvider1, чтобы вернуть массив мобильных номеров конкретного провайдера.Я должен использовать вышеуказанный URL со строкой запроса, передающей номер мобильного телефона и сообщение, введенное пользователем.Здесь я использовал цикл foreach для передачи сообщения на другой номер мобильного телефона через строку запроса.

Проблема в том, что я не мог понять, как передать сообщение на несколько номеров мобильных телефонов, не посещая страницы что-то.com и показыватьрезультат, которому передается значение строки запроса, а какие нет ... Здесь я не смог передать другое значение строки запроса в этом URL, используя foreach.Он только посещал одну страницу или перенаправлял один раз .... Есть ли какая-то функция, например, redirect () .... или любые другие опции.Пожалуйста, сделайте несколько предложений ... Буду очень признателен .... Ниже приводится функция контроллера для отправки сообщения

function message()
{               $message = $this->input->post('message');
        $provider = $this->input->post('provider');

        if($provider == 'provider1')
        {
            $number = $this->message_model->getProvider1();
            $mobile = array();
            foreach($number as $no)
            {
                $mobile = $no;

            redirect('http://something.com?mobno='.$mobile.'&msg='.$message);
            }


        }

               else if
                {
                     // same process for service provider2
                }
               else
                {
                  //other service provider
                }
     }

1 Ответ

0 голосов
/ 09 января 2012

Во-первых, я не уверен на 100%, что именно вы хотите сделать, но перенаправление будет работать только один раз (поскольку после перенаправления вы больше не находитесь на своей странице).

Чтоисходя из моего понимания вашего кода, вы могли бы обратиться к cURL .Это дает вам возможность загрузить несколько страниц и посмотреть на их результаты "за кулисами" и отобразить все, что вы хотите для своих пользователей.

Некоторые другие заметки.

/* Instead of doing the same thing for all provides with IFs, rewrite you message model to take the provider name as a input variable insdead. */
$number = $this->message_model->getProvider($provider);
/* $mobile = array(); // you never use this array, no need for it */
foreach($number as $mobile)
{
  /* $mobile = $no; //completly useless, just name it in the foreach */

  /* --- do a cURL request here --- */
  $curl = curl_init(); 
  curl_setopt($curl, CURLOPT_URL, 'http://something.com?mobno='.$mobile.'&msg='.$message);
  $curl_info = curl_getinfo($curl);
  curl_close($curl);
  if ($curl_info['http_code'] != 200) /* Handle error if any */
  {
    $errors[] = 'ERROR WITH REQUEST: http://something.com?mobno='.$mobile.'&msg='.$message;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...