向存储在数据库中的多个电话号码发送 SMS
Posted
技术标签:
【中文标题】向存储在数据库中的多个电话号码发送 SMS【英文标题】:Sending SMS to multiple phone numbers stored in a database 【发布时间】:2019-12-20 08:56:56 【问题描述】:我能够在我的项目中成功设置 twilio(我知道这个过程非常简单),但我正在寻找一种能够将 SMS 发送到存储在数据库中的电话号码列表的方法。请帮助我对编程很陌生,我知道这个问题对你们中的一些人来说可能听起来很傻,但我真的需要一些帮助。提前表示感谢。
下面是我在我的项目中使用的代码,现在我已经将它设置为使用 post 方法提取“to”电话号码。我想过让该字段提取数据库中的所有数据(从存储电话号码的特定列)并使用 mysql 将其吐在该字段中,并使用 ajax 脚本拆分每个数字,但是我该如何循环通过手机号码发送流程?或者如果有更简单的方法请告诉我,谢谢
<?php
require '../app/init.php';
use Twilio\Rest\Client;
$twilio_conn = new mysqli($twilio_host, $twilio_username, $twilio_password, $twilio_db) or die($twilio_conn->error());
$twilio_result = $twilio_conn->query("SELECT phone_numbers FROM ctn") or die($twilio_conn->error);
while ($row = $twilio_result->fetch_assoc()):
echo '<br><br><br>' . $row['phone_numbers'];
endwhile;
if(isset($_POST['submit']))
if(isset($_POST['number']) && isset($_POST['message']))
$client = new Client($config['account_sid'],$config['auth_token']);
$client->account->messages->Create($_POST['number'], ['from'=>$config['phone_number'], 'body'=>$_POST['message']]);
echo "<br><br><h3 class='text-center bg-success'>Message has been sent</h3>";
?>
<div class="container col-sm-4 col-sm-offset-2">
<form role="form" method="post">
<div class="form-group text-center">
<span>Text Message Mainframe</span><br><br>
<input name="number" type="tel" class="form-control" id="email" placeholder="Enter Phone Number to send to">
</div>
<div class="form-group">
<textarea name="message" id="message" cols="30" rows="4" class="form-control" placeholder="Message body"></textarea>
</div>
<input name="submit" type="submit" class="btn btn-primary btn-block" value="Send Message">
</form>
</div>
【问题讨论】:
【参考方案1】:假设 $phoneNumbers 是您要向其发送消息的电话号码数组。
<?php
require '../app/init.php';
use Twilio\Rest\Client;
$twilio_conn = new mysqli($twilio_host, $twilio_username, $twilio_password, $twilio_db) or die($twilio_conn->error());
$twilio_result = $twilio_conn->query("SELECT phone_numbers FROM ctn") or die($twilio_conn->error);
$phoneNumbers = $twilio_result->fetch_assoc()['phone_numbers'];
if(isset($_POST['submit']))
if(isset($_POST['number']) && isset($_POST['message']))
$client = new Client($config['account_sid'],$config['auth_token']);
foreach($phoneNumbers as $phoneNumber)
$client->account->messages->Create($phoneNumber, ['from'=>$config['phone_number'], 'body'=>$_POST['message']]);
echo "<br><br><h3 class='text-center bg-success'>Message has been sent</h3>";
?>
【讨论】:
非常感谢 Jakub,这非常有帮助,现在我想不出的最后一点是如何将电话号码从我的表中获取到 $phoneNumbers 数组中,而不是获取数据硬编码。电话号码当前存储在 phone_numbers 列中 我认为这应该可行,但我不确定。请检查我编辑的答案并尝试一下。 很高兴能帮上忙 :)以上是关于向存储在数据库中的多个电话号码发送 SMS的主要内容,如果未能解决你的问题,请参考以下文章