Программно вставить результат веб-формы

Я использую drupal 6 с установленным модулем webform.

Мне нужно иметь возможность удалять POST, от результатов PHP до веб-формы. Псевдокод:

<?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: http://drupal.org/node/1082016

Я беспокоюсь о том, что эти два поля недействительны для моего удаленного представления:

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

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

e4becb726ea858b6914980b9142b7f30
6 8
6 голосов | спросил xaav 5 MaramSat, 05 Mar 2011 03:01:08 +03002011-03-05T03:01:08+03:0003 2011, 03:01:08

2 ответа


2

Я не пробовал, но глава 19 Pro Drupal Development (у меня есть второе издание) ссылается на использование xml-rpc для этого. Он использует страницу xmlrpc.php, входящую в стандартную установку, для выполнения своей работы.

ответил Tangurena 5 MarpmSat, 05 Mar 2011 20:33:49 +03002011-03-05T20:33:49+03:0008 2011, 20:33:49
1

Вы пытались с помощью 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 в форме, а также в настоящее время терпите неудачу, если вам требуется пройти аутентификацию, чтобы отправить ответ

ответил wiifm 5 MarpmSat, 05 Mar 2011 13:41:32 +03002011-03-05T13:41:32+03:0001 2011, 13:41:32

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132