2016-09-15 3 views
1

Je suis en train de créer un nouvel abonnement utilisateur à l'aide boucle, mais il semble que les paramètres n'est envoyé:demande post curl PHP avec des paramètres

$url = 'http://www.domain.com/user_sub/new'; 

$curl = curl_init($url); 

$curl_post_data = array(
    'email' => '[email protected]', 
    'f_name' => 'John', 
    'l_name' => 'Doe', 
    'zip_code' => 'GB211', 
    'promo' => 'promocode' 
); 

curl_setopt($curl, CURLOPT_POST, true); 

curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($curl_post_data)); 

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);  

$curl_response = curl_exec($curl); 

curl_close($curl); 

...

Si je fais une url droite afficher sur navigateur il fonctionne par exemple:

http://www.domain.com/user_sub/[email protected]&f_name=John&l_name=Doe&zip_code=GB211&promo=promocode 

Qu'est-ce que je fais mal s'il vous plaît?

+0

si vous utilisez: '/ user_sub/new email = user_email @ example.com & f_name = John & l..' dans'/user_sub/new' changer $ _POST avec? $ _GET – CatalinB

+0

Je n'ai pas accès à la base de données et je suis capable d'obtenir des entrées de formulaire qui rempliront le tableau. L'url ci-dessus est censé poster sur un système distant sur lequel je n'ai aucun contrôle, d'où curl. – Sech

Répondre

2

Avez-vous essayé de le faire avec:

$url = 'http://www.domain.com/user_sub/[email protected]&f_name=John&l_name=Doe&zip_code=GB211&promo=promocode'; 

     $response = file_get_contents($url, false);