จะส่ง sms ผ่าน Api ยังไงโดยที่ให้ไปดึงเบอร์โทรมาจากฐานข้อมูล my sql ช่วยหน่อยยยค่ะ
ไฟล์ index.php
Code (PHP)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>SBUYSMS.COM</title>
<style type="text/css">
BODY{
margin:5px;
padding:0;
font-family:Tahoma;
color:#000000;
font-size:13px
}
TD{
font-size:13px
}
.Table{
background-color:#C0C0C0
}
.Even{
background-color:#F0F0F0
}
.Odd{
background-color:#FFFFFF
}
</style>
</head>
<body>
<div style="margin:10px 0px 10px 0px; font-weight:bold">ตัวอย่างการส่งข้อความ ผ่าน SMS API ของ WWW.SBUYSMS.COM</div>
<form action="send.php" method="post">
<table cellpadding="5" cellspacing="1" border="0" width="600" class="Table">
<tr class="Even">
<td>username</td>
<td><input type="text" name="username">
</td>
</tr>
<tr class="Odd">
<td>password</td>
<td><input type="password" name="password">
</td>
</tr>
<tr class="Even">
<td>msisdn</td>
<td><input type="text" name="msisdn">เบอร์โทร(0899999999,0822222222)</td>
</tr>
<tr class="Odd">
<td>message</td>
<td><textarea name="message" rows="5" cols="50"></textarea></td>
</tr>
<tr class="Even">
<td>sender</td>
<td><input type="text" name="sender">
(SBUYSMS)</td>
</tr>
<tr class="Odd">
<td>ScheduledDelivery</td>
<td><input type="text" name="ScheduledDelivery">
(20111129:2215) (เวลาส่ง 05,10,15,20,30....)</td>
</tr>
<tr class="Even">
<td> </td>
<td><input type="submit" name="send" value="send sms"></td>
</tr>
</table>
</form>
</body>
</html>
ไฟล์ function.php
Code (PHP)
<?php
class XmlToArray {
var $xml='';
/**
* Default Constructor
* @param $xml = xml data
* @return none
*/
function XmlToArray($xml){
$this->xml = $xml;
}
/**
* _struct_to_array($values, &$i)
*
* This is adds the contents of the return xml into the array for easier processing.
* Recursive, Static
*
* @access private
* @param array $values this is the xml data in an array
* @param int $i this is the current location in the array
* @return Array
*/
function _struct_to_array($values, &$i){
$child = array();
if (isset($values[$i]['value'])) array_push($child, $values[$i]['value']);
while ($i++ < count($values)) {
switch ($values[$i]['type']) {
case 'cdata':
array_push($child, $values[$i]['value']);
break;
case 'complete':
$name = $values[$i]['tag'];
if(!empty($name)){
$child[$name]= ($values[$i]['value'])?($values[$i]['value']):'';
if(isset($values[$i]['attributes'])) {
$child[$name] = $values[$i]['attributes'];
}
}
break;
case 'open':
$name = $values[$i]['tag'];
$size = isset($child[$name]) ? sizeof($child[$name]) : 0;
$child[$name][$size] = $this->_struct_to_array($values, $i);
break;
case 'close':
return $child;
break;
}
}
return $child;
}
//_struct_to_array
/**
* createArray($data)
*
* This is adds the contents of the return xml into the array for easier processing.
*
* @access public
* @param string $data this is the string of the xml data
* @return Array
*/
function createArray() {
$xml = $this->xml;
$values = array();
$index = array();
$array = array();
$parser = xml_parser_create();
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
xml_parse_into_struct($parser, $xml, $values, $index);
xml_parser_free($parser);
$i = 0;
$name = $values[$i]['tag'];
$array[$name] = isset($values[$i]['attributes']) ? $values[$i]['attributes'] : '';
$array[$name] = $this->_struct_to_array($values, $i);
return $array;
}//createArray
}//XmlToArray
function xml($xml){
$xmlObj = new XmlToArray($xml);
$arrayData = $xmlObj->createArray();
return $arrayData;
}
?>
ไฟล์ send.php
Code (PHP)
<?php
/*
* ตัวอย่างการส่งข้อความ ผ่าน SMS API ของ WWW.SBUYSMS.COM
*/
require_once("function.php");
$url = "http://www.sbuysms.com/api.php";
$username = $_POST['username'];
$password = $_POST['password'];
$msisdn = $_POST['msisdn'];
$message = $_POST['message'];
$sender = $_POST['sender'];
$ScheduledDelivery = $_POST['ScheduledDelivery'];
$param = "command=send&username=$username&password=$password&msisdn=$msisdn&message=$message&sender=$sender&ScheduledDelivery=$ScheduledDelivery";
$agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $param);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);
$result = curl_exec ($ch);
curl_close ($ch);
$xml = xml($result);
$count = count($xml['SBUYSMS']['QUEUE']);
if($count > 0){
$count_pass = 0;
$count_fail = 0;
$used_credit = 0;
for($i=0;$i<$count;$i++){
if($xml['SBUYSMS']['QUEUE'][$i]['Status'] == 1){
//$Transaction = $xml['SBUYSMS']['QUEUE'][$i]['Transaction'];
//$Msisdn = $xml['SBUYSMS']['QUEUE'][$i]['Msisdn'];
//$UsedCredit = $xml['SBUYSMS']['QUEUE'][$i]['UsedCredit'];
$used_credit += $UsedCredit;
$count_pass++;
}else{
$count_fail++;
}
}
if($count_pass > 0){
echo "สามารถส่งออกได้จำนวน $count_pass หมายเลข, ใช้เครดิตทั้งหมด $used_credit เครดิต";
}
if($count_fail > 0){
echo "ไม่สามารถส่งออกได้จำนวน $count_fail หมายเลข";
}
}else{
echo $xml['SBUYSMS']['Detail'];
}
?>
Tag : PHP, MySQL
Date :
2014-11-05 09:08:42
By :
llooll
View :
4949
Reply :
22
ตอนนี้เป็นยังไงหรอครับ
Date :
2014-11-05 15:04:43
By :
armdbz
ตอนนนี้สามารถส่ง sms ได้ค่ะ แต่ต้องใช้วิธีการกรอกหมายเลขโทรศัพท์เข้าไปค่ะ
คืออยากจะให้สามารถดึงเบอร์โทรศัพท์ขึ้นมาเลย ว่าจะส่งเป็นรายคน หรือส่งทั้งหมด โดยที่ไม่จำเป็นต้องกรอกหมายเลขโทรศัพท์เข้าไป
พอจะมีวิธีบ้างไหมค่ะ
Date :
2014-11-05 15:34:21
By :
llooll
HTML ตัวส่ง
Code (JavaScript)
<tr class="Even">
<td>msisdn</td>
<td><input type="checkbox" name="sendall" value="1">SendAll
<input type="text" name="msisdn">เบอร์โทร(0899999999,0822222222)</td>
</tr>
send.php
Code (PHP)
<?php
if(isset($_POST['sendall']){
include('sendall.php'); // new program php for send from table
}else{
// ส่วนของโปรแกรมเดิม
}
?>
ประวัติการแก้ไข 2014-11-05 17:30:01
Date :
2014-11-05 17:29:41
By :
Chaidhanan
พอจะมีตัวอย่างการประยุกต์ใช้บ้างไหม
พอดีไม่มีความรู้เรื่องนี้เลย
Date :
2014-11-17 13:37:44
By :
gfff
ถ้าไม่เขียนเอง ลอง ประกาศจ้างดูครับ ผมว่าจากโค๊ดที่มีอยู่แล้ว
ซัก 1000 ก็มีคนรับนะครับ แบบไม่มีความรู้เลย
แต่ถ้าอยากเขียนเอง ลองโครงสร้างแบบที่ผมบอกครับ
send.php เดิม เปลี่ยน เป็น send2.php
แล้ว send.php เอาตัวอย่างที่ผมทำให้ดู เป็นไกด์ ผมว่าน่าจะทำเองได้นะครับ
Date :
2014-11-17 13:51:28
By :
Chaidhanan
เริ่มไม่ถูก เลยค่ะ ไม่รู้จะจับมาเขี้ยนยังไง ??
Date :
2014-11-17 16:47:37
By :
gfff
โค๊ดที่เอามา โชว์ เขียนเอง หรือ เอามาจากไหนครับ เพราะมันดู โปรฯ น่ะครับ
Date :
2014-11-17 16:51:12
By :
Chaidhanan
ใช้บริการ sms api ของ http://sbuysms.com/ ในการส่งอ่าค่ะ ซึ่งเขาจะมีตัวอย่าง source code ให้ใช้แต่ไม่รู้จะเอามาประยุกต์ยังไง
Date :
2014-11-17 17:07:53
By :
gfff
บันทัดที่ 45 แก้ตามด้านล่าง
กำหนด เลือก ระว่างส่งจาก database หรือส่ง รายเบอร์
Code (XML)
<tr class="Even">
<td>msisdn</td>
<td><input type="checkbox" name="sendall" value="1"
onclick="this.form.msisdn.disabled=this.checked" >Send From Database<br>
<input type="text" name="msisdn">เบอร์โทร(0899999999,0822222222)</td>
</tr>
เปลี่ยน ไฟล์ send.php เป็น send2.php
ส่วน send.php ตัวใหม่
Code (PHP)
<?php
if(isset($_POST['sendall'])){
// ส่งจาก database
$url = "send2.php"; $send = '';
foreach( $_POST as $k=>$vl) $send .= ($send>''? '&' : '') . "$k=$vl";
//////////////////////////////////////////////////////////////////////////
// ส่วนติดต่อกับ database ปรับใช้งานตามจริง
$mysql=new mysqli('host', 'user', 'psw', 'database');
$rs=$mysql->query('select msisdn from table where 1'); // ชื่อ ตาราง where อย่างไร
$nodes = array();
while($ro=$rs->fetch_assoc()){ $nodes[] = $send . "&msisdn=$ro[msisdn]"; }
/////////////////// ส่วน ทำการส่ง //////////////////////////////////////////
$curl_arr = array(); $master = curl_multi_init();
for($i = 0; $i < $node_count; $i++) {
$curl_arr[$i] = curl_init($url);
curl_setopt($curl_arr[$i], CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_arr[$i], CURLOPT_POSTFIELDS, $nodes[$i]);
curl_multi_add_handle($master, $curl_arr[$i]);
}
$active=null;
do { $mrc=curl_multi_exec($master, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM );
while ($active && $mrc == CURLM_OK) {
if (curl_multi_select($master) != -1) {
do { $mrc = curl_multi_exec($master, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
}
/////////////////////// ส่วน แสดง รายงาน การส่ง //////////////////////////////////
$txt="$content:TrueMoveH:".date('Y-m-d H:i:s', hk_time)."\n";
for($i = 0; $i < $node_count; $i++) {
$txt.=$i . ":" . curl_multi_getcontent($curl_arr[$i]) . "\n";
}
echo $txt.='================='."\n";
}else{
include( 'send2.php'); // ส่งแค่ รายการเดียว includำ ของเดิม
}
?>
ถ้าอย่างไรก็เปิด php document ศึกษา ชุดคำสั่งดูนะครับ ไม่อยากให้ไปแล้วแปะ โดยไม่ศึกษานะครับ
ประวัติการแก้ไข 2014-11-17 17:24:51 2014-11-17 17:25:31
Date :
2014-11-17 17:23:28
By :
Chaidhanan
ถ้าไม่เข้าใจ ประยุกต์ไม่ได้ ก็จ้างคุณ Chaidhanan เลยครับ แกเทพสุดในนี้แล้ว
Date :
2014-11-17 17:28:42
By :
สอง
แฮะๆ คงไม่ถึงขนาดนั้นหรอกครับ คำตอบแรกๆ แบบไม่เข้าใจ จขกท น่ะครับ เลย หงุดหงิดนิดหน่อย
พออธิบายมาก็เข้าใจ ก็ขอโทษด้วยนะครับ ส่วนโค๊ดก็ลองดูนะครับ
ปล. ไม่ได้เทสต์เลยนะครับ ผิดพลาดยังไงก็มาโพสต์ต่อนะครับ
Date :
2014-11-17 17:36:20
By :
Chaidhanan
ขอบคุณค่ะ ลองดู แล้ว ว เจอ ERROR: INVALID PARAMETER
ตัวแปลผิดพลาดตรงในส่วนของไฟล์ send.php ใหม่หรืออป่าวค่ะ ?
Date :
2014-11-17 18:26:39
By :
gfff
ลองเอาโค๊ดส่วนที่แก้ไขแล้ว มาดู อีกทีครับ
Date :
2014-11-17 19:06:09
By :
Chaidhanan
send.php
Code (PHP)
<?php
if(isset($_POST['sendall'])){
// ส่งจาก database
$url = "send2.php"; $send = '';
foreach( $_POST as $k=>$vl) $send .= ($send>''? '&' : '') . "$k=$vl";
//////////////////////////////////////////////////////////////////////////
// ส่วนติดต่อกับ database ปรับใช้งานตามจริง
$mysql=new mysqli('localhost', 'root', 'root', 'project'); // ส่วนที่แก้ไขเข้าไปค่ะ
$rs=$mysql->query('select msisdn from member where user_id=99603'); // ส่วนที่แก้ไขเข้าไปค่ะจะลองดูว่าสามารถดึงเบอร์โทรจากฐานข้อมูลได้หรือไม่
$nodes = array();
while($ro=$rs->fetch_assoc()){ $nodes[] = $send . "&msisdn=$ro[msisdn]"; }
/////////////////// ส่วน ทำการส่ง //////////////////////////////////////////
$curl_arr = array(); $master = curl_multi_init();
for($i = 0; $i < $node_count; $i++) {
$curl_arr[$i] = curl_init($url);
curl_setopt($curl_arr[$i], CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_arr[$i], CURLOPT_POSTFIELDS, $nodes[$i]);
curl_multi_add_handle($master, $curl_arr[$i]);
}
$active=null;
do { $mrc=curl_multi_exec($master, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM );
while ($active && $mrc == CURLM_OK) {
if (curl_multi_select($master) != -1) {
do { $mrc = curl_multi_exec($master, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
}
/////////////////////// ส่วน แสดง รายงาน การส่ง //////////////////////////////////
$txt="$content:TrueMoveH:".date('Y-m-d H:i:s', hk_time)."\n";
for($i = 0; $i < $node_count; $i++) {
$txt.=$i . ":" . curl_multi_getcontent($curl_arr[$i]) . "\n";
}
echo $txt.='================='."\n";
}else{
include( 'send2.php'); // ส่งแค่ รายการเดียว includ ของเดิม
}
?>
sms.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>SBUYSMS.COM</title>
<style type="text/css">
BODY{
margin:5px;
padding:0;
font-family:Tahoma;
color:#000000;
font-size:13px
}
TD{
font-size:13px
}
.Table{
background-color:#C0C0C0
}
.Even{
background-color:#F0F0F0
}
.Odd{
background-color:#FFFFFF
}
</style>
</head>
<body>
<div style="margin:10px 0px 10px 0px; font-weight:bold">ตัวอย่างการส่งข้อความ ผ่าน SMS API ของ WWW.SBUYSMS.COM</div>
<form action="send.php" method="post">
<table cellpadding="5" cellspacing="1" border="0" width="600" class="Table">
<tr class="Even">
<td>username</td>
<td><input type="text" name="username">
(pochoo)</td>
</tr>
<tr class="Odd">
<td>password</td>
<td><input type="password" name="password">
(123413523)</td>
</tr>
<tr class="Even">
<td>msisdn</td>
<td><input type="checkbox" name="sendall" value="1"
onclick="this.form.msisdn.disabled=this.checked" >Send From Database<br>
<input type="text" name="msisdn">เบอร์โทร(0899999999,0822222222)</td>
</tr>
<tr class="Odd">
<td>message</td>
<td><textarea name="message" rows="5" cols="50"></textarea></td>
</tr>
<tr class="Even">
<td>sender</td>
<td><input type="text" name="sender">
(SBUYSMS)</td>
</tr>
<tr class="Odd">
<td>ScheduledDelivery</td>
<td><input type="text" name="ScheduledDelivery">
(20111129:2215) (เวลาส่ง 05,10,15,20,30....)</td>
</tr>
<tr class="Even">
<td> </td>
<td><input type="submit" name="send" value="send sms"></td>
</tr>
</table>
</form>
</body>
</html>
Date :
2014-11-17 19:46:44
By :
gfff
/////////////////////// ส่วน แสดง รายงาน การส่ง //////////////////////////////////
$txt="$content:TrueMoveH:".date('Y-m-d H:i:s', hk_time)."\n"; //ตรงส่วน$content:TrueMoveH มันจำกัดแค่เบอ์ของทรูอย่างเดียวหรอค่ะ ?
Date :
2014-11-17 19:50:52
By :
gfff
เอา TrueMoveH ออกครับ 55555 ผมก๊อปมา ลยไม่หมด
ปล.
$content = content ที่ส่งชื่ออะไร ของผมมันมีหลาย content ครับ
TrueMoveH บอกว่างานนี้ส่ง TrueMoveH
โปรแกรมส่ง SMS ของผมแยกส่ง DTAC AIS TrueMove TrueMoveH ครับ TrueMoveH นี้ คล้ายกับ โจทย์ จขกท น่ะครับ
เลยหยิบมาประยุกต์ให้ครับ
ประวัติการแก้ไข 2014-11-17 21:02:28
Date :
2014-11-17 20:57:13
By :
Chaidhanan
มันบอกว่าส่งพารามิเตอร์ไปไม่ครบอ่าค่ะ
ต้องแก้ในส่วนไหนค่ะ งงหมดแล้ว แหะๆๆ !!
$url = "http://www.sbuysms.com/api.php";
$username = $_POST['username'];
$password = $_POST['password'];
$msisdn = $_POST['msisdn'];
$message = $_POST['message'];
$sender = $_POST['sender'];
$ScheduledDelivery = $_POST['ScheduledDelivery'];
Date :
2014-11-17 21:03:37
By :
gfff
จากโค๊ดที่แก้แล้ว สามารถส่งแบบรายการเดียวได้ไหมครับ
Date :
2014-11-17 22:01:25
By :
Chaidhanan
ไม่ได้ค่ะ มันขึ้นว่าส่งพารามิเตอไปไม่ครบ จากไฟล์ send.php
หนูไม่รู้ว่าจะต้องเพิ่มเข้าไปหรือไม่
Date :
2014-11-17 22:05:16
By :
gfff
ก่อนแก้ไขได้ backup ของเก่าไว้หรือยังครับ งานแบบนี้ ต้องทำสำเนาไว้ก่อนนะครับ
ผมก็ลืมเน้นตรงนี้ไป
ผมปรับให้ใหม่แล้ว file send.phjp ใช้ตัวเก่า เพิ่ม บันทัดตรวจสอบตัวแปร
ไฟล์ เริ่มต้น เป็น PHP ส่งข้อความเข้าตัวมันเอง แล้วค่อยวิเคราะห์ส่งต่ออีกครั้ง
ไฟล์ เริ่มต้น
Code (PHP)
<?php
if(isset($_POST['sendall'])){
// ส่งจาก database
$url = "send.php"; $xsend = '';
foreach( $_POST as $k=>$vl) $xsend .= ($xsend>''? '&' : '') . "$k=$vl";
//////////////////////////////////////////////////////////////////////////
echo "Post ",$xsend , "<br>";
// ส่วนติดต่อกับ database ปรับใช้งานตามจริง
$mysql=new mysqli('localhost', 'test', 'test', 'test');
$rs=$mysql->query('select msisdn from mobile where 1'); // ชื่อ ตาราง where อย่างไร
$nodes = array();
while($ro=$rs->fetch_assoc()) $nodes[] = $xsend . "&msisdn=$ro[msisdn]";
echo '<pre>' , print_r( $nodes, true), '</pre>';
/////////////////// ส่วน ทำการส่ง //////////////////////////////////////////
$curl_arr = array(); $master = curl_multi_init();
for($i = 0; $i < $node_count; $i++) {
$curl_arr[$i] = curl_init($url);
curl_setopt($curl_arr[$i], CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_arr[$i], CURLOPT_POSTFIELDS, $nodes[$i]);
curl_multi_add_handle($master, $curl_arr[$i]);
}
$active=null;
do { $mrc=curl_multi_exec($master, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM );
while ($active && $mrc == CURLM_OK) {
if (curl_multi_select($master) != -1) {
do { $mrc = curl_multi_exec($master, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
}
/////////////////////// ส่วน แสดง รายงาน การส่ง //////////////////////////////////
$txt="$content:TrueMoveH:".date('Y-m-d H:i:s', hk_time)."\n";
for($i = 0; $i < $node_count; $i++) {
$txt.=$i . ":" . curl_multi_getcontent($curl_arr[$i]) . "\n";
}
echo $txt.='================='."\n";
}elseif(isset($_POST['send'])){
include( 'send.php'); // ส่งแค่ รายการเดียว include ของเดิม
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>SBUYSMS.COM</title>
<style type="text/css">
BODY{ margin:5px; padding:0; font-family:Tahoma; color:#000000; font-size:13px }
TD{ font-size:13px }
.Table{ background-color:#C0C0C0 }
.Even{ background-color:#F0F0F0 }
.Odd{ background-color:#FFFFFF }
</style>
</head>
<body>
<div style="margin:10px 0px 10px 0px; font-weight:bold">ตัวอย่างการส่งข้อความ ผ่าน SMS API ของ WWW.SBUYSMS.COM</div>
<form action="" method="post">
<table cellpadding="5" cellspacing="1" border="0" width="600" class="Table">
<tr class="Even">
<td>username</td>
<td><input type="text" name="username">
</td>
</tr>
<tr class="Odd">
<td>password</td>
<td><input type="password" name="password">
</td>
</tr>
<tr class="Even">
<td>msisdn</td>
<td>
<input type="checkbox" name="sendall" value="1"
onclick="this.form.msisdn.disabled=this.checked" >Send From Database<br>
<input type="text" name="msisdn">เบอร์โทร(0899999999,0822222222)</td>
</tr>
<tr class="Odd">
<td>message</td>
<td><textarea name="message" rows="5" cols="50"></textarea></td>
</tr>
<tr class="Even">
<td>sender</td>
<td><input type="text" name="sender">
(SBUYSMS)</td>
</tr>
<tr class="Odd">
<td>ScheduledDelivery</td>
<td><input type="text" name="ScheduledDelivery">
(20111129:2215) (เวลาส่ง 05,10,15,20,30....)</td>
</tr>
<tr class="Even">
<td> </td>
<td><input type="submit" name="send" value="send sms"></td>
</tr>
</table>
</form>
</body>
</html>
ไฟล์ send.php
Code (PHP)
<?php
/*
* ตัวอย่างการส่งข้อความ ผ่าน SMS API ของ WWW.SBUYSMS.COM
*/
require_once("function.php");
$url = "http://www.sbuysms.com/api.php";
$username = $_POST['username'];
$password = $_POST['password'];
$msisdn = $_POST['msisdn'];
$message = $_POST['message'];
$sender = $_POST['sender'];
$ScheduledDelivery = $_POST['ScheduledDelivery'];
$param = "command=send&username=$username&password=$password&msisdn=$msisdn&message=$message&sender=$sender&ScheduledDelivery=$ScheduledDelivery";
///////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////
echo $url, '?',$param; exit; // มารค์บันทัดนี้ออก เมื่อตรวจสอบ ตัวแปรถูกต้องแล้ว
///////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////
$agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $param);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);
$result = curl_exec ($ch);
curl_close ($ch);
$xml = xml($result);
$count = count($xml['SBUYSMS']['QUEUE']);
if($count > 0){
$count_pass = 0;
$count_fail = 0;
$used_credit = 0;
for($i=0;$i<$count;$i++){
if($xml['SBUYSMS']['QUEUE'][$i]['Status'] == 1){
//$Transaction = $xml['SBUYSMS']['QUEUE'][$i]['Transaction'];
//$Msisdn = $xml['SBUYSMS']['QUEUE'][$i]['Msisdn'];
//$UsedCredit = $xml['SBUYSMS']['QUEUE'][$i]['UsedCredit'];
$used_credit += $UsedCredit;
$count_pass++;
}else{
$count_fail++;
}
}
if($count_pass > 0){
echo "สามารถส่งออกได้จำนวน $count_pass หมายเลข, ใช้เครดิตทั้งหมด $used_credit เครดิต";
}
if($count_fail > 0){
echo "ไม่สามารถส่งออกได้จำนวน $count_fail หมายเลข";
}
}else{
echo $xml['SBUYSMS']['Detail'];
}
?>
ประวัติการแก้ไข 2014-11-18 08:32:55 2014-11-18 08:34:38 2014-11-18 08:37:16
Date :
2014-11-18 08:28:52
By :
Chaidhanan
เราว่าลองไปใช้งานผู้ให้บริการ sms platform ไหมคะส่วนใหญ่เค้าจะมี coding เตรียมไว้ให้แล้ว
ทางผู้ใช้งานแค่ใส่เบอร์โทร กับข้อความที่ตนเองต้องการส่งไป
ลองใช้งาน http://movider.co ไหมคะ เค้าเป็นแบรนด์ที่ทำ gateway sms ทั่วโลก
หรือถ้าอยากส่งในไทยก็มีราคาพิเศษในไทยให้ เพราะเค้าเป็นบริษัทคนไทยค่ะ
เราว่าถ้าอยากสะดวกแบบนี้น่าจะดีกว่านะคะ เราเป็นคนที่ไม่ค่อยรู้เรื่องแต่ยังใช้งานได้ง่ายมากค่ะ
ทดลองใช้ได้นะ เค้ามีให้ทดลองใช้ฟรีค่ะ ที่ลิงค์นี้เลย https://dashboard.movider.co/sign-up
Date :
2020-06-23 23:35:47
By :
Rainni
Load balance : Server 04