2017-11-16 7 views
-2

データベーステーブルの中にある番号を使用してSMSを送信したいと思います。私はを試しましたが、機能はですが、メッセージは番号に送られませんでした。エラーは表示されません。PHPを使用してデータベーステーブルにある番号を使用してSMSを送信

<?php 

//connect to database 

$con = mysqli_connect('127.0.0.1','root',''); 

//select database 
mysqli_select_db($con, 'appointment'); 

if($_POST['accept']) 
{ 
    $sql = "UPDATE service SET remarks = 'Accepted' WHERE ID=$_POST[id]"; 

include"sms.php"; 
} 
else if($_POST['reject']) 
{ 
    $sql = "UPDATE service SET remarks = 'Rejected' WHERE ID=$_POST[id]"; 
} 

//Execute Query 
if(mysqli_query($con,$sql)) 
    header("refresh:1; url=app.php"); 
else 
    echo "Unsuccessful"; 
?> 

は、ここでは簡単に私の問題を理解できるように、私は予定表のスクリーンショットを提供します

<?php 

$phone= "SELECT contact FROM service WHERE ID=$_POST[id]"; 
$message= "You're Appointment is Accepted"; 

send_sms($phone,$message); 

function send_sms($phone, $message) { 
    $ch = curl_init(); 
    $parameters = array(
    'apikey' => '*****************', //Your API KEY 
    'number' => $phone, 
    'message' => $message, 
    'sendername' => 'SEMAPHORE' 
); 
    curl_setopt($ch, CURLOPT_URL,'http://api.semaphore.co/api/v4/messages'); 
    curl_setopt($ch, CURLOPT_POST, 1); 

    //Send the parameters set above with the request 
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($parameters)); 

    // Receive response from server 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    $output = curl_exec($ch); 
    curl_close ($ch); 

    //Show the server response 
    echo "Message Successfully Delivered"; 
} 
?> 

私sms.phpのコードです。あなたが送信している

enter image description here

+0

PHPはコードをインクルード/必要またはコピーして貼り付け、else()を追加するだけです。あなたはデータベースを照会せず、SQL文字列として$ phoneを持っていますか? $ phone = "サービスから連絡先を選択WHERE ID = $ _ POST [ID]"; –

+0

@LeszekRepie私はあなたが言ったことを試みました。コードを貼り付けてコピーしますが、 "function send_sms($ phone、$ message)"にエラーがあります。どうすればこのサーを解決できますか?ありがとうございます。 – Cristiako

+1

* "function send_sms($ phone、$ message)"でエラーが発生しました "* - 質問にエラーメッセージ*をそのまま入れてください。 – greybeard

答えて

0

、ない電話番号が、あなたのSMSサービスへのクエリ。

$phone= "SELECT contact FROM service WHERE ID=$_POST[id]"; 
send_sms($phone,$message); 
     ... 
function send_sms($phone, $message) { 
     ... 
    $parameters = array(
    'apikey' => '*****************', //Your API KEY 
    'number' => $phone, /*"SELECT contact FROM service WHERE ID=$_POST[id]" */ 
    'message' => $message, 
    'sendername' => 'SEMAPHORE' 
); 

メッセージを送信する前に、クエリを実行して実際の電話番号を取得してください。 (あなたのSMSサービスは、うまくいけばあなたのクエリで何をすべきか分かりません)

そして、コメントのSQLインジェクション警告を真剣に受けてください。サイバー犯罪者は通常、あなたのような脆弱なウェブサイトは、ライブになってから1日以内にになります。公共のインターネットは危険な場所です。あなたはSMSサービスの支払いをしています。スパム送信者があなたのサービスを使ってメッセージを送信したため、20,000米ドルの請求書を受け取ることは嫌です。あなたはあなたの評判への損失をさらに嫌うでしょう。

+0

コメントから、OPはこれを知っています(「私が示したテーブルから電話番号を取得したい」)が、mysqliを使用してSQL SELECTクエリを実行して結果を得る方法は一見わかりません。非常に簡単にGoogleで検索する次に、別のバージョンのコードに関連しているように見える別の問題もあります。私はあなたが上記の点を取るが、本当に実際にその質問に答えているかどうかは分からない。 (IMOの質問は、現在の形で本当に答えることはできませんが) – ADyson

+0

、@ ADyson。あなたはもちろん、あなた自身の答えを書くことを歓迎しています。 –

+0

私は言ったように、報告されたエラーメッセージを修正するという点では、実際にそれが立証しているとは思えません。 mysqliを使用して結果セットをフェッチする方法について、既にオンラインの例を100回繰り返して、時間を無駄にするつもりはありません。 – ADyson

関連する問題