doujin8476 2015-01-17 09:22
浏览 26
已采纳

使用php进行Opencart短信集成

I have a page for registration of users where the user need to provide their name phonenumber etc for registration. It accepts the phone number the following way.

 <input type="text" name="telephone" value="<?php echo $telephone; ?>"/>

phonenumber is storend in the db.

When the user checkout and goes to success.php, user should be notified by the sms

This is a API form smsgatewaycenter

<?php
$sendsms ="";
$param['To'] = "123456";
$param['Message'] = "Hello this is test message.";
$param['UserName'] = "my_username";
$param['Password'] = "mypwd";
$param['Mask'] = "TTNERD";
$param['v'] = "1.1";
$param['Type'] = "Individual";
foreach($param as $key=>$val)
{
$sendsms.= $key."=".urlencode($val);
$sendsms.= "&";
}
$sendsms = substr($sendsms, 0, strlen($sendsms)-1);
$url = "http://www.smsgatewaycenter.com/library/send_sms_2.php?".$sendsms;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$curl_scraped_page = curl_exec($ch);
curl_close($ch);
echo $curl_scraped_page;

?>

It works fine but

$param['To'] = "123456";

It sends the sms to the number 123456, i want it to send the sms to the number which is registered by the user during the registration process. Should it be like this?

$param['To'] = '$telephone';

Please help. Thanks in Advance.

  • 写回答

3条回答 默认 最新

  • duanpenpan5796 2015-01-17 10:21
    关注

    You need to edit your success controller file.

    Just go to catalog/controller/checkout/success.php and find line no 5.

    You can see below code:

    $this->cart->clear();
    

    You need to put below code after above code:

    $this->load->model('account/customer');                 
    $customer_info = $this->model_account_customer->getCustomer($this->session->data['user_id']);
        $sendsms ="";
        $param['To'] = $customer_info['telephone'];
        $param['Message'] = "Hello this is test message.";
        $param['UserName'] = "my_username";
        $param['Password'] = "mypwd";
        $param['Mask'] = "TTNERD";
        $param['v'] = "1.1";
        $param['Type'] = "Individual";
        $sendsms = http_build_query($param);
        $url = "http://www.smsgatewaycenter.com/library/send_sms_2.php?".$sendsms;
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $curl_scraped_page = curl_exec($ch);
        curl_close($ch);
    

    Now you can send your sms when user is logged in and complete checkout successfully.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多