1
Je tente d'envoyer les résultats d'un formulaire Web Drupal via un POST cURL à un tiers. Ma fonction cURL ne fonctionne pas, et j'ai du mal à trouver mon erreur. Je n'ai jamais utilisé cURL auparavant, donc je ne suis pas vraiment sûr de comment cela fonctionne, ou vraiment même ce qu'il fait. D'après ce que je peux dire, je rassemble l'URL à envoyer correctement, l'envoi échoue juste.Drupal 7 PHP cURL non exécuté
<?php
module_load_include('inc','webform','includes/webform.submissions');
$uri = $_SERVER[REQUEST_URI];
$sid = substr($uri, 20);
$submission = webform_get_submissions(array('sid' => $sid));
$nid = $submission[$sid]->nid;
$sql = db_select('webform_submitted_data', 'w');
$sql->fields('w', array('sid','cid','data'))
->condition('sid', $sid)
->condition('cid', array(1,2,3,4,5,6,7,8),'IN');
$results = $sql->execute();
$post = NULL;
$url = urlencode('http://ulm.datamark.com/services/lead_submission&client_code=DAV4516&source_code=DAVNCU');
foreach($results as $result)
{
if ($result->cid == 1) {
$post .= "first_name=" . urlencode($result->data);
} else if ($result->cid == 2) {
$post .= "&last_name=" . urlencode($result->data);
} else if ($result->cid == 3) {
$post .= "&email=" . urlencode($result->data);
} else if ($result->cid == 4) {
$post .= "&phone=" . urlencode($result->data);
} else if ($result->cid == 5) {
$who = $result->data;
} else if ($result->cid == 6) {
$post .= "&phone2=" . urlencode($result->data);
} else if ($result->cid == 8) {
$post .= "&comments=" . urlencode($result->data);
}
}
dsm($who);
dsm($url.$post);
if ($who == "fs")
{
$defaults = array(
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_URL => $url,
CURLOPT_FRESH_CONNECT => 1,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_FORBID_REUSE => 1,
CURLOPT_TIMEOUT => 4,
CURLOPT_POSTFIELDS => http_build_query($post)
);
$ch = curl_init();
curl_setopt_array($ch, ($defaults));
if(! $result = curl_exec($ch))
{
echo "Something went wrong";
trigger_error(curl_error($ch));
}
curl_close($ch);
?>
Merci beaucoup! 1 et 2 ont fait l'affaire. Je suis itératif par la façon dont je suis à cause de la façon géniale dont la base de données contient des informations (et de la façon dont j'ai dû le faire). Appréciez l'aide, le cURL fonctionne au moins ... Je ne sais pas si la troisième partie reçoit encore, mais je sais que le cURL fonctionne. –