2017-12-04 13 views
-1

코드를 수정했는데 해결책에 가까워지고 있지만 여전히 오류가 발생했다고 생각합니다.API를 통해 MailChimp 목록에 구성원을 추가 할 때 오류가 발생했습니다.

public function onPluginsInitialized() 
    { 
     $this->add_member(); 
    } 

public function add_member() { 
    require __DIR__.'/vendor/autoload.php'; 

    $url = 'url'; 
    $api_key = 'api_key'; 
    $list_id = 'list_id'; 

    $client = new \GuzzleHttp\Client(); 

    $result = $client->request('POST', $url.'lists/'.$list_id.'/members', [ 
     'headers' => [ 
      'Authorization' => 'apikey '.$api_key, 
      'json' => [ 
       'email_address' => $_POST['email'], 
       'email_type' => 'html', 
       'status'  => 'subscribed' 
      ] 
     ], 
     'verify' => false, 
     'debug' => false 
    ]); 
} 

여기에 내가지고있어 오류는 다음과 같습니다

'정의되지 않은 인덱스 : 이메일'어디에서 이메일을 정의해야한다? 양식에서 그것을 잡는 방법?

나는 this example을 따라하려고 시도했다. 그러나 내 구문이 다릅니다. 나는 구문의 이유가 을 사용하여 GRAV에 대한 플러그인을 만들려고한다는 사실을 덧붙이겠다.

+1

질문 [codeereview.stackexchange.com] (https://codereview.stackexchange.com) –

+0

"무엇이 잘못 되었나요?"보다는 어떤 문제에 대한 세부 정보를 제공해야합니까? 당신은 무엇을 기대하고 있으며, 어떤 일이 일어나고 있는지/일어나지 않았습니까? 오류가 있습니까? 기타 등등. –

+0

또한 정말로, _ 정말로, **는 이스케이프 처리되지 않은'$ _POST' 값을 보내지 말 것을 권장합니다. 그렇게함으로써 상처의 세계에 스스로를 설정하고 있습니다. –

답변

0

좋아요, 마침내 정렬되었습니다. 나는 다른 사람이 저것으로 고투 할 경우를 위해 응답을 배치하고있다.

'headers' => [ 
      'Authorization' => 'apikey '.$api_key, 
], 
'json' => [ 
     'email_address' => $_POST['email'], 
     'email_type' => 'html', 
     'status'  => 'subscribed' 
] 

기본적으로 'json'배열은 '헤더'에 있어서는 안됩니다. 또한 '디버그'및 '확인'을 제거했습니다.