2011-04-13 47 views
0

我们有一个表格抓取了大量的细节,然后将其提交给发送电子邮件给某些人的邮件程序。在PHP中处理后提交表格

我需要在窗体和邮件程序之间进行一些额外的处理,它检查数据库中的信息,然后相应地更改表单数据。

我想我可以使用curl来做这件事,但是一旦我做了处理,我需要提交表单并让事情按照他们的方式运行,就好像php不在那里一样,看起来我不能用卷曲来做到这一点。

问题是我可以用卷曲来做这个吗?或者有更好的方法去解决这个问题。 (尽管我可以对邮件和表单进行小的更改,但应尽可能保持不变)。

编辑:我不确定我可以输入什么信息,但我会尽量简化它。

目前:表 - >邮件程序

我所试图做的事:表 - > PHP - >邮件程序

Mail程序需要POST变量所以我想要做的就是抓住了发布变量,改变它们中的一些,然后将它们发送到邮件程序,并且以前的过程看起来相同。

+1

我不认为你已经发布足够的信息以圆满回答这个问题。 – alex 2011-04-13 01:31:50

+0

邮件脚本PHP也是?你控制它,还是表单发布到远程服务器? – 2011-04-13 02:22:22

+0

Nah,它是用另一种语言编写的应用程序,我几乎不能控制它。 – Rudiger 2011-04-13 02:31:22

回答

0

简短的回答是可以卷曲我需要什么做,需要:

`curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);` 
0

使PHP文件生成一个填充了处理值的属性的表单。那么你最终使用Javascript来提交表单。

1

使用此:

http://wezfurlong.org/blog/2006/nov/http-post-from-php-without-curl/

<?php 
function do_post_request($url, $data, $optional_headers = null) 
{ 
    $params = array('http' => array(
       'method' => 'POST', 
       'content' => $data 
      )); 
    if ($optional_headers !== null) { 
    $params['http']['header'] = $optional_headers; 
    } 
    $ctx = stream_context_create($params); 
    $fp = @fopen($url, 'rb', false, $ctx); 
    if (!$fp) { 
    throw new Exception("Problem with $url, $php_errormsg"); 
    } 
    $response = @stream_get_contents($fp); 
    if ($response === false) { 
    throw new Exception("Problem reading data from $url, $php_errormsg"); 
    } 
    return $response; 
} 

需要PHP5。在PHP中整理所有你需要的数据,并流出帖子值。