2011-05-25 5 views
0

J'essaie de soumettre le formulaire de connexion avec phpcommand: curl, mais cela ne fonctionne pas. Les champs sont deux: email et psw. Le problème est que si j'utilise urlencode pour envoyer un e-mail, il renvoie l'erreur: "format incorrect e-mail!", Alors que si je n'utilise pas l'urlencode, il n'y a pas de réponse.Connexion à distance avec curl (php)

Voici le code sans urlencode:

$url = 'myurl'; 
$fields = array(
     'login_email'=> '[email protected]', 
     'login_passwd'=> 'mypsw', 
    'remember_me' => '1' 
    ); 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,$url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // Return page in string 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS,$fields); 
$page = curl_exec($ch); 
echo $page; 

//close connection 
curl_close($ch); 
+0

... eh bien, évidemment, nous aurions besoin de voir le code qui gère les connexions ... – rockerest

Répondre

3

Êtes-vous sûr qu'il n'y a pas de réponse? Beaucoup de systèmes de connexion font simplement une redirection vers une autre page si la connexion est réussie. Essayez d'ajouter

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 

which'd laisser CURL obéir à la redirection quérir quelle page vous du serveur d'envoyer hors de.

Vous pouvez également utiliser l'option CURLOPT_HEADER pour inclure les en-têtes HTTP dans la réponse renvoyée dans votre valeur $page et voir ce qui s'y passe.

+0

J'obtiens la solution !!! J'utilise ce cours: http://www.sv-design.org/blog/php-classe-curl-come-gestire-le-richieste-e-i-login-remoti-con-php/ – Dany

+1

No parlo Italiano? –