質問

WebformモジュールをインストールしてDrupal 6を使用しています。

PHPの結果からWebformまで、リモートで投稿できる必要があります。 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);

もちろん、この例は完璧ではありませんが、あなたは(うまくいけば)アイデアを得ることができます。

これをどうやってやろうと思いますか?

Drupal Keueで問題を開きました。 http://drupal.org/node/1082016

私はこれらの2つのフィールドが私のリモート提出を無効にすることを心配しています:

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

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

e4becb726ea858b6914980b9142b7f30
役に立ちましたか?

解決

試したことはありませんが、第19章 Pro Drupal開発 (私は第2版を持っています)使用を指します XML-RPC これをする。標準インストールの一部であるページXMLRPC.PHPを使用して、作業を行います。

他のヒント

PHPを使用してPOSTデータを手動で送信してみましたか?これがからのスニペットです 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;

もちろん、これはフォームに何らかの形のCaptchaを使用している場合、これは失敗し、reponseを投稿するために認証される必要がある場合も現在失敗します

ライセンス: CC-BY-SA帰属
所属していません drupal.stackexchange
scroll top