2015-01-17 56 views
1

我有一個用戶註冊頁面,用戶需要提供他們的姓名,電話號碼等註冊。 它通過以下方式接受電話號碼。使用php的Opencart短信集成

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

phonenumber在數據庫中存儲。

當用戶結帳並進入success.php,用戶應通過短信

這是一個API形式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; 

?> 

它工作正常,但

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

它發送短信到號碼123456,我希望它發送短信到用戶在註冊過程中註冊的號碼過程。 應該是這樣嗎?

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

請幫忙。 在此先感謝。

回答

1

您需要編輯您的成功控制文件。

只要去catalog/controller/checkout/success.php並找到line no 5

你可以看到下面的代碼:

$this->cart->clear(); 

你需要把下面的代碼上面的代碼之後:

$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); 

現在你可以當用戶logged in和完整checkout成功發送您的短信。

+0

Thankyou這麼多。但我想在結賬頁面後執行此操作。 (即success.php)你能告訴我怎麼做。 **對不起,我沒有提到它之前** –

+0

當用戶成功從商店結帳併到達成功頁面(success.php)後,我希望短信發送給用戶。 –

+0

檢查我編輯的答案。 –

0

應該

$param['To'] = $telephone; 

如果您有較早喜歡某事

$telephone = '123456789' 
+0

$電話是在一些其他的PHP頁面(register.php)中聲明的 我想$ param ['To']動態地從數據庫中取出用戶電話號碼併發送短信。 –

+0

你可以從數據庫中選擇,或者在任何其他地方($ _GET [],$ _POST)獲取舞會,但重要的是這些地方可以把這個電話作爲一種字符串保存,所以你不需要你的引號http:///take.ms/9gWrj –

+0

電話號碼存儲在數據庫名稱中:tatynerds表名:oc_customer和列名稱:telephone您能告訴我如何選擇此表和列以放置在$ param ['To']字段中 –

1

從事件的表單和配置獲取數據可能是一項艱鉅的任務。您可以使用任何免費的短信模塊從您的opencart商店發送短信。

例如:下面的事件 http://www.opencart.com/index.php?route=extension/extension/info&extension_id=27121

該模塊發送短信:

  • 通知商店管理員對新秩序和登記。
    • 發送新的訂單地點的短信。
    • 發送訂單狀態更改短信。
    • 發送短信賬號註冊。

事件可以從管理區進行配置。