2011-04-13 119 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中整理所有你需要的數據,並流出帖子值。