Я тестирую форму WebToLead Salesforce, используя этот простой пример http://wiki.developerforce.com/index.php/Simple_Web2Lead_Implementation.
Когда я изменил двойные кавычки (используемые для объединения значений $header
) в одинарные кавычки, я продолжаю получать следующую ошибку:
Fatal error: Maximum execution time of 60 seconds exceeded in C:\wamp\www\test.php on line 23
Когда я возвращаю им двойные кавычки, все работает нормально. Чего мне не хватает?
Вот упрощенная версия, которую вы можете использовать, если у вас есть учетная запись разработчика Salesforce:
<?php
//do quality checks on the incoming data here.
//then bundle the request and send it to Salesforce.com
$req = "&lead_source=". urlencode("test");
$req .= "&first_name=" . urlencode("first name test");
$req .= "&debug=" . urlencode("1");
$req .= "&oid=" . urlencode("<your oid>");
$req .= "&retURL=" . "";
$req .= "&debugEmail=" . urlencode("<your email>");
$header = 'POST /servlet/servlet.WebToLead?encoding=UTF-8 HTTP/1.0\r\n';
$header .= 'Content-Type: application/x-www-form-urlencoded\r\n';
$header .= 'Host: www.salesforce.com\r\n';
$header .= 'Content-Length: ' . strlen($req) . '\r\n\r\n';
$fp = fsockopen ('www.salesforce.com', 80, $errno, $errstr, 30);
if (!$fp) {
echo "No connection made";
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024); // error is thrown here
echo $res;
}
}
fclose($fp);
?>