發送我有完成一個PayPal payflow當由無聲柱。它返回一個長的字符串,如:解析查詢串以作爲陣列中的無聲柱(PHP)
& AVSZIP = X & TYPE = S & BILLTOEMAIL =否%40one.com
我插入下面的腳本的加粗部分,我已經找到了解決搜索並認爲它會做的伎倆。也許我完全誤解了這是如何工作的,但我認爲它會定義$ proArray,然後在靜默文章中通過電子郵件發送給我。它發送無聲郵件,但沒有任何內容。
請告訴我,如果需要更多的信息,或者如果我只是一個白癡。我也嘗試了parse_str命令,但我想我也不知道如何正確使用它。
<?php
//PLACE EMAIL BELOW:
$email="[email protected]";
$req = "";
if ($_POST)
{
// iterate through each name value pair
foreach ($_POST as $key => $value)
{
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}
**// Function to convert NTP string to an array
function NVPToArray($req)
{
$proArray = array();
while(strlen($req))
{
// name
$keypos= strpos($req,'=');
$keyval = substr($req,0,$keypos);
// value
$valuepos = strpos($req,'&') ? strpos($req,'&'): strlen($req);
$valueval = substr($req,$keypos+1,$valuepos-$keypos-1);
// decoding the respose
$proArray[$keyval] = urldecode($valueval);
$req = substr($req,$valuepos+1,strlen($req));
}
}**
//write to file
$fh = fopen("logpost.txt", 'a');//open file and create if does not exist
fwrite($fh, "\r\n/////////////////////////////////////////\r\n");//Just for spacing in log file
fwrite($fh, $req);//write data
fclose($fh);//close file
//Email
$mail_From = "From: [email protected]";
$mail_To = $email;
$mail_Subject = "POST EXISTS";
$mail_Body = $proArray;
mail($mail_To, $mail_Subject, $mail_Body, $mail_From);
//
//if posted return echo response
echo $req;
}
// No post data received
if (empty($_POST))
{
//write to file
$fh = fopen("logpost.txt", 'a');//open file and create if does not exist
fwrite($fh, "\r\n/////////////////////////////////////////\r\n");//Just for spacing in log file
fwrite($fh, "Empty Post");//write data
fclose($fh);//close file
//Email
$mail_From = "From: [email protected]";
$mail_To = $email;
$mail_Subject = "Empty Post";
$mail_Body = "";
mail($mail_To, $mail_Subject, $mail_Body, $mail_From);
//if posted return echo response
echo "Empty Post";
}
?>
謝謝馬克。我已經做出了這些改變,但它仍然只是返回一個空白的電子郵件。我必須錯過別的東西。 – 2014-11-08 15:51:34