Question

J'utilise 6 avec le drupal module installé formulaire en ligne.

Je dois être en mesure de distance POST, des résultats PHP à un formulaire en ligne. Pseudocode:

<?php
//File: remote_script_not_hosted_on_the_same_server_as_drupal.php

$results = array(
'name' => 'testname',
'age' => '6',
);

$node = 5;

$url_to_drupal = 'http://remote_server.com/drupal-6.2';

insert_into_webform($results, $node, $url_to_drupal);

Bien sûr, cet exemple est pas parfait, mais vous (je l'espère) voyez l'idée.

Comment feriez-vous faire?

J'ai ouvert une question sur la file d'attente drupal: http://drupal.org/node/1082016

Je suis préoccupé par ces deux champs invalidantes ma soumission à distance:

------WebKitFormBoundaryKIiNRZCPZIFlYWKc
Content-Disposition: form-data; name="form_build_id"

form-58f36748bfffd6752f204eadf1ba87c9
------WebKitFormBoundaryKIiNRZCPZIFlYWKc
Content-Disposition: form-data; name="form_token"

e4becb726ea858b6914980b9142b7f30
Était-ce utile?

La solution

Je n'ai pas essayé, mais le chapitre 19 de Pro Drupal Développement (je la 2ème édition) fait référence à l'utilisation xml-rpc pour le faire. Il utilise la xmlrpc.php page qui fait partie de la norme d'installation pour faire son travail.

Autres conseils

Avez-vous essayé d'utiliser PHP pour envoyer manuellement les données POST? Voici un extrait de http://www.webmasterworld.com/php/3164561.htm

$server= 'www.someserver.com';
$url = '/path/to/webform/posturl';
$content = 'name1=value1&name2=value2';
$content_length = strlen($content);
$headers= "POST $url HTTP/1.0\r\nContent-type: text/html\r\nHost: $server\r\nContent-length: $content_length\r\n\r\n";
$fp = fsockopen($server, $port, $errno, $errstr);
if (!$fp) {
    return false;
}
fputs($fp, $headers);
fputs($fp, $content);
$ret = "";
while (!feof($fp)) {
    $ret .= fgets($fp, 1024);
}
fclose($fp);
print $ret;

Bien sûr, cela échouerait si vous utilisez une forme quelconque de captcha sur la forme, et aussi ne pas actuellement si vous devez être authentifié pour poster un Reponse

Licencié sous: CC-BY-SA avec attribution
Non affilié à drupal.stackexchange
scroll top