我的网站上有联系表格。它可以使用PHP脚本捕获数据并通过电子邮件发送给我,也可以通过更改<form action="">
API表示捕获信息并将其保存到外部数据库的脚本。 API基于ASP(这是我的推测),我无法访问它,并且必须使用下面指定的格式。
我需要修改PHP脚本,因此它使用POST方法通过电子邮件发送信息并使用此SPECIFIC格式发送到外部API。
免责声明:我不是程序员,但如果指向正确的方向,我可以知道如何做事。
API中的格式接受信息:
<form action="https://api.somsite.com/?user=&key=&zipcode=&name=&phone=&email=&address=&service=" method="post">
<input type="hidden" name="user" value="12345"/>
<input type="hidden" name="key" value="0987654321"/>
使用隐藏值(USER和KEY),因此API知道信息的来源。
其他输入由用户提供(姓名,电子邮件,邮编,电话,地址,服务)。
以下是我当前的PHP脚本:
<?php session_start(); ?><?php
$to = "myemail@gmail.com";
$subject = "LEAD";
$email = $_REQUEST["email"];
$name = $_REQUEST["name"];
$address = $_REQUEST["address"];
$zip = $_REQUEST["zipcode"];
$phone = $_REQUEST["phone"];
$service = $_REQUEST["service"];
$user = $_REQUEST["user"];
$key = $_REQUEST["key"];
$dodgy_strings = array(
"content-type:"
,"mime-version:"
,"multipart/mixed"
,"bcc:"
);
$msg = 'Name: '.$name. PHP_EOL;
$msg .= 'Phone: '.$phone. PHP_EOL;
$msg .= 'E-mail: '.$email. PHP_EOL. PHP_EOL;
$msg .= 'Address: '.$address. PHP_EOL;
$msg .= 'Zip code: '.$zip. PHP_EOL. PHP_EOL;
$msg .= 'Service: '.$service. PHP_EOL. PHP_EOL;
$msg .= 'User ID: '.$user. PHP_EOL. PHP_EOL;
$msg .= 'Access Key: '.$key. PHP_EOL. PHP_EOL;
$msg .= PHP_EOL;
mail($to, $subject, $msg);
header('Location: http://www.mysite.com/thankyou.htm'); // This redirects to Thank You page
?>
基本上,我需要将上述PHP脚本与某种CURL函数或类似函数一起使用。
我在STACK上的某处读过我需要PHP中的CURL函数,但不知道如何实现它。
请帮忙 - 我非常感谢。
此致,Leo。
答案 0 :(得分:0)
这是一个示例curl调用,具有5秒超时,发布数据。生成的$ data变量是调用的结果页面。
$url='http://www.website.com';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,5);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
$postdata = array(
'post_variable1'=>'post_value1'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
编辑:使用这个例子,您可以传递POST变量,如下所示替换我在上面设置$ postdata的位置 -
$postdata = array('email'=>$_POST['email'], 'phone'=>$_POST['phone']);
答案 1 :(得分:-2)
您需要做的就是将表单方法编辑为method="get"
。
使用方向网址时,您会丢失信息。 你可以解决它。
<form action="ContactUs.php" method="get">
希望它有所帮助。