2012-01-09 3 views
-3

응용 프로그램에 codeigniter를 사용하고 있습니다. 먼저 Message TextArea Box, 데이터베이스에서 가져온 DropDownlist 및 제출 버튼으로 구성된보기를 만들었습니다. 나는 두개의 칼럼 데이터베이스를 하나의 모바일 번호와 다른 서비스 제공자를 위해 가지고있다. 나는 쿼리 문자열 값 (http://www.something.com?mobno=numbervar)을 가지고 URL을 미리 정의했다.foreach 루프를 사용하여 url을 통해 쿼리 문자열 값 보내기

모델 클래스 , 나는 특정 공급자의 모바일 번호의 배열을 반환 getProvider1라는 함수가 있습니다. 나는 위의 url을 사용자가 입력 한 모바일 번호와 메시지를 전달하는 쿼리 문자열과 함께 사용해야합니다. 여기에서는 foreach 루프를 사용하여 쿼리 문자열을 통해 다른 모바일 번호로 메시지를 전달했습니다.

문제는 something.com 페이지를 방문하지 않고 여러 모바일 번호로 메시지를 전달하는 방법을 알지 못했기 때문에 쿼리 문자열 값이 전달되고 실패한 결과를 보여줍니다 ... 여기, foreach를 사용하여 해당 URL에서 다른 쿼리 문자열 값을 전달하십시오. 한 페이지 만 방문하거나 한 번 리디렉션 ... redirect() .... 또는 다른 옵션과 같은 기능이 있습니까? 당신이 정확히하고 싶은 무엇 나는 100 % 확실하지 않다, 다음은 첫째 메시지를

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

답변

0

를 보낼 컨트롤러의 기능입니다 .... 대단히 감사합니다 ... 몇 가지 제안을 원하지만, 리디렉션하십시오 분명히 한 번만 작동합니다 (리디렉션 한 후에는 더 이상 페이지에 없습니다).

코드에 대한 이해를 바탕으로 수행 할 수있는 작업은 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; 
    } 
} 
관련 문제