Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP使用数据库表中的数字发送sms_Php_Mysql_Sms - Fatal编程技术网

使用PHP使用数据库表中的数字发送sms

使用PHP使用数据库表中的数字发送sms,php,mysql,sms,Php,Mysql,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 = 'Acce

我想用数据库表中的号码发送短信。我尝试了包含函数,但消息没有发送到某个号码。没有错误显示

<?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";
?>

您发送的不是电话号码,而是对您的短信服务的查询

$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' 
  );
在尝试发送消息之前,请运行查询并检索实际电话号码。(希望您的短信服务不知道如何处理您的查询。)


并且,请认真对待注释中的SQL注入警告。像你这样的易受攻击的网站在上线后不到一天就会出现网络罪犯。公共互联网是一个危险的地方。你正在为你的短信服务付费。你会讨厌收到20000美元的账单,因为一个垃圾邮件发送者利用你的服务发送信息。你会更恨声誉的损失。

PHP包含/要求或复制粘贴代码,然后添加if-else()。您不需要查询数据库,只需要$phone作为SQL字符串$phone=“从服务中选择联系人,其中ID=$\u POST[ID]”@LeszekRepie我试过你说的长官。我复制粘贴了代码,但我在“函数发送短信($phone,$message)”中遇到了一个错误…我如何解决这个问题,先生?提前谢谢。我在“
函数发送短信($phone,$message)
”中遇到了一个错误-请在问题中逐字包含错误消息。您的代码容易受到SQL注入攻击。您应该使用参数化查询和准备好的语句来帮助防止攻击者使用恶意输入值破坏您的数据库。给出了风险的解释,以及如何使用PHP/mysqli安全地编写查询的一些示例。永远不要将未初始化的数据直接插入SQL。对于初学者,请使用google:“MySQLi”-如何从DB获取数据。从评论中,OP知道这一点(“我想从我显示的表中获取电话号码”),但似乎不知道如何使用MySQLi运行SQL SELECT查询并获取结果,这当然是谷歌很容易就能搜索到的东西。然后还有一些单独的问题,似乎与代码的不同版本有关。我接受你上面的观点,但不确定它们是否真的回答了这个问题?(不过,就目前的形式而言,这个问题并不是真正可以回答的)明白了,@ADyson。当然,欢迎您写自己的答案。我会的,但正如我所说的,我认为就修复报告的错误消息而言,它实际上是不负责任的。我不会浪费时间重复已经在线的100多个示例,这些示例介绍了如何使用mysqli获取结果集。
$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' 
  );