2011-11-27 20 views
0

我知道cURL主要用於從遠程站點獲取數據。你應該使用cURL從使用POST數據的本地URL獲取數據嗎?PHP在本地文件上模擬POST數據

例如,我有一個頁面顯示收據。我使用它發送html電子郵件,並且也讓客戶在瀏覽器中查看收據是否他們的電子郵件客戶端沒有正確顯示。

如果POST持卡人數據存在,它將顯示收據中的名字,姓氏,地址,城市,州,郵編,電話,電子郵件和付款方式。

我使用file_get_contents()函數來檢索該網頁併發送電子郵件。問題:這樣做時不會出現POST數據,所以如果您是收到收據電子郵件的人,那麼您的賬單信息將不會顯示。沒有辦法證明收據實際上是你的。

我試圖遵守PCI標準,所以我試圖避免在會話或數據庫表中存儲持卡人數據。

+0

你在開玩笑嗎?我認爲你在尋找include(),因爲你的說法毫無用處。沒有人會讓自己的服務器向自己發送發佈請求,並將其留給客戶端腳本。 –

+0

那麼如何將數據包含在不希望存儲在會話或數據庫表中的網頁中? – David

回答

2

而不是使用file_get_contents()你可以不使用包含或需要在腳本中拉你在那個文件?在此之前,您可以手動設置$ _POST變量,並且包含的​​文件將觸發電子郵件幷包含用戶數據。

//Script where you're calling file_get_contents() 

$_POST['firstName'] = $firstName; 
$_POST['lastName'] = $lastName; 
//etc for all fields 

include "your_email_script"; 
+0

尋找這個答案需要付出比應有的更多努力。有很多帖子,像Adam的上面那樣,人們說在你自己的服務器上發佈腳本是愚蠢的,但是如果你使用的是需要POST的腳本,如何避免這種情況而不殺小貓? TheOx提供了簡單的解決方案。謝謝! –