我正在使用sms网关,即sms4connect。短信发送成功。现在的问题是我想保存短信发送结果到我的表中,然后获取结果。
这是我的php代码:
<?php
$num = "92xxxxxxxxxx";
$mes = "Hello World (&) and a 5 note";
// Configuration variables
$type = "xml";
$id = "myid";
$pass = "mypass";
$lang = "English";
$mask = "mymask";
// Data for text message
$to = $num ;
$message = $mes;
$message = urlencode($message);
// Prepare data for POST request
$data = "id=".$id."&pass=".$pass."&msg=".$message."&to=".$to."&lang=".$lang."&mask=".$mask."&type=".$type;
// Send the POST request with cURL
$ch = curl_init('http://www.sms4connect.com/api/sendsms.php/sendsms/url');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch); //This is the result from SMS4CONNECT curl_close($ch);
echo $result;
$query = mysql_query("INSERT INTO sms_response (phone, msg) values('$to','$result')");
?>
我收到消息&#34;(300成功消息发送到电信.239133150)&#34;。我想将此消息针对每个数字保存到我的数据库表中。正如您在我的PHP代码中看到的那样,我在sms_response表中插入$ to,$ result值,而不是保存数字和消息,我在表格中显示这些值,如图所示。
那么如何正确地将消息和电话保存到我的表中。帮助将是非常值得的。
答案 0 :(得分:1)
您可以通过此脚本
创建XML对象$xml=simplexml_load_string($result) or die("Error: Cannot create object");
print_r($xml);
在$ xml中,您将获得从sms网关获取的所有数据。您可以在DB中检索和保存。
simplexml_load_string
它从给定的XML字符串创建XML对象。
如果您在XML中的节点中获得成功消息,则可以只检索
之类的数据$successMessage = $xml->message;
在db列中保存此$successMessage
消息。请将消息替换为XML响应中的相关字段。这只是一个例子。
要存储电话号码和消息,您可以将其连接起来,如
$successMessage = $num.": ".$xml->message;
这只是一个例子。您可以以任何格式连接它们。在检索邮件时,如果您想从邮件中获取电话号码,则可以通过&#34;来爆炸字符串:&#34;
$msg = explode(":",$message_column);
echo $msg[0]; //phone number
echo $msg[1]; //message