2013-07-15 4 views
0

0 Я пытаюсь перенаправить пользователя на страницу «Спасибо», но я использую простое перенаправление php.Curl Redirect Issue

header('Location: http://client.com/thank-you-one.php'); 

и я добавил его в этот фрагмент ниже, но перенаправлять все еще не работает, если кто-нибудь знает, почему и может видеть, куда я иду неправильно, я хотел бы некоторую обратную связь.

$username = '*****'; 
    $password = '*****'; 


    //POPULATE THESE (and other fields) WITH REQUEST DATA 
    $first_name = $_POST['firstname']; 
    $last_name = $_POST['lastname']; 
    $email = $_POST['emailaddress']; 
    $company_name = $_POST['companyname']; 
    $date_of_birth = (''.$_POST['year'].'-'.$_POST['month'].'-'.$_POST['day'].''); 
    $loyalty_number = $_POST['membernumber']; 

    $host = 'http://api.client.com/users'; 
    $user_curl = curl_init($host); 
    curl_setopt($user_curl, CURLOPT_HTTPHEADER, array('Accept: application/vnd.aardvark.crm+json; version=1.3')); 
    curl_setopt($user_curl, CURLOPT_USERPWD, $username.":".$password); 
    curl_setopt($user_curl, CURLOPT_TIMEOUT, 30); 
    curl_setopt($user_curl, CURLOPT_POST, 1); 
    curl_setopt($user_curl, CURLOPT_POSTFIELDS, http_build_query(array('forename' = > $first_name, 'surname' = > $last_name, 'email' = > $email, 'company_name' = > $company_name, 'date_of_birth' = > $date_of_birth, 'loyalty_number' = > $loyalty_number))); 
    curl_setopt($user_curl, CURLOPT_RETURNTRANSFER, TRUE); 

    $return = curl_exec($user_curl); 

    $info = curl_getinfo($user_curl); 
    if ($info['http_code'] == '200') { 
     $data = json_decode($return, true); 

     $tag_curl = curl_init($host.'/'.$data['id'].'/tags/'.$_POST['favorite'].''); 
     curl_setopt($tag_curl, CURLOPT_HTTPHEADER, array('Accept: application/vnd.aardvark.crm+json; version=1.3')); 
     curl_setopt($tag_curl, CURLOPT_USERPWD, $username.":".$password); 
     curl_setopt($tag_curl, CURLOPT_TIMEOUT, 30); 
     curl_setopt($tag_curl, CURLOPT_POST, 1); 
     curl_setopt($tag_curl, CURLOPT_RETURNTRANSFER, TRUE); 
     $tag_return = curl_exec($tag_curl); 


     $ml_curl = curl_init($host.'/'.$data['id'].'/mailinglists/3'); 
     curl_setopt($ml_curl, CURLOPT_HTTPHEADER, array('Accept: application/vnd.aardvark.crm+json; version=1.3')); 
     curl_setopt($ml_curl, CURLOPT_USERPWD, $username.":".$password); 
     curl_setopt($ml_curl, CURLOPT_TIMEOUT, 30); 
     curl_setopt($ml_curl, CURLOPT_PUT, 1); 
     curl_setopt($ml_curl, CURLOPT_RETURNTRANSFER, TRUE); 
     $tag_return = curl_exec($ml_curl); 



     header('Location: http://client.com/thank-you-one.php'); 
     echo 'test1'; 
    exit; 

    } else { 
     //analyse resonse with 
     $data = json_decode($return, true); 
     print_r($data); 
     echo 'test2'; 
    } 


    curl_close($user_curl); 
    curl_close($tag_curl); 
    curl_close($ml_curl); 
+0

* Sidenote: * не забудьте позвонить 'выход;' после 'заголовка ('Location: $ URL');' – Raptor

+0

, что работает, что вы получаете вместо редиректа , это json-выход? – DevZer0

+0

shound't this be '200' if ($ info ['http_code'] == '201') { – DevZer0

ответ

0

Я считаю, что ваш вопрос ваше тестирование на http_code201. изменить его 200

if ($info['http_code'] == '200') {