输入电话号码后,获取链接按钮不工作


Get Link Button not working, after putting in phone number

我正在实现一个获取链接按钮,一旦您在文本字段中键入电话号码,该按钮将通过文本向您发送链接。我正在使用Twilio来处理我的短信内容,我正在遵循一个应用程序教程,该教程教我如何实现。这是教程和我想做的事情的理想实现,分别是:

http://www.apptamin.com/blog/app-download-button/

http://getmaid.com/

到目前为止,我已经制作了一个简单的html文件,它只显示按钮、消息和文本字段。这是该文件的代码:

<html>
<head><title>Text Me The Link!</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
//Javascript
$(function(){
$("#frm").submit(function(e){
e.preventDefault();
$.post("textMeLink.php", $("#frm").serialize(),
function(data){
if(data.sms_sent == 'OK'){
alert("Message Sent");
} else {
alert("Message Not Sent");
}
}, "json");
});
    });
   </script>
</head>
  <body>
<form id="frm" name="frm">
    <input type="hidden" name="ajax" value="1"/>
        <h4>Text your phone a download link for our iPhone and Android apps</h4>
    <input type="phone" name="phone" placeholder="Enter Your Mobile Number"/>
    <button type="submit">Get Link</button>
    <div style="display: none; " class="error"/>
</form>
  </body>
</html>

PHP文件的工作方式很有魅力。我已经独立测试过了,我从Twilio收到的短信没有任何问题。问题是当我从html文件中尝试它时。每当我输入一个电话号码时,我都不会收到任何警报,唯一改变的是它的链接进入

来自:

file:///C:/Users/Kevin/Marco%20Polo/twilio-php-master/sendLinkV0.html   

至:

file:///C:/Users/Kevin/Marco%20Polo/twilio-php-master/sendLinkV0.html?ajax=1&phone=1234567890

在那之后,无论我尝试其他号码,都没有任何效果,唯一改变的是链接末尾的号码,Twilio永远不会发送短信。我可能只是缺少了一小部分,或者可能没有意识到我必须将文件放在服务器中,而不是C:驱动器中,也许我不知道。所以,如果有人能看到我哪里错了,并解释为什么它失败了,那将是太棒了!

谢谢,

每个

附言:html、php文件以及Twilio库都在同一目录中,WAMP httpd.conf文件将其更改为新的Documentroot

编辑

我运行了我的php代码,php文件上的代码似乎有错误,html文件可能没有问题。这是我的php文件:

<?php 
  require "Services'Twilio.php";
$AccountSid = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$AuthToken = "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy";
$client = new Services_Twilio($AccountSid, $AuthToken);
 $phone=$_POST["phone"];
 $sms = $client->account->sms_messages->create(
     "+17327047999",
    $phone,
    "Get our app now: http://play.google.com/store/apps/details?id=some.app"
);
$sms_check="OK";
$return_json = '{"sms_sent":"' .$sms_check . '"}';
echo $return_json;
 ?>

这个错误似乎源于我定义$phone变量的方式。我读到的错误:

 Notice: Undefined index: phone in C:'Users'Kevin'Marco Polo'twilio-php-master'textMeLink.php on line 9
 Warning: file_get_contents: failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request in C:'Users'Kevin'Marco Polo'twilio-php-master'Services'Twilio'HttpStream.php on line 61
 Fatal error: Uncaught exception 'Services_Twilio_HttpStreamException' with message 'Unable to connect to service' in C:'Users'Kevin'Marco Polo'twilio-php-master'Services'Twilio'HttpStream.php on line 64
Services_Twilio_HttpStreamException: Unable to connect to service in C:'Users'Kevin'Marco Polo'twilio-php-master'Services'Twilio'HttpStream.php on line 64

Twilio Developer Evangelist。

我认为问题是由于您的本地开发环境中没有启用SSL扩展。Twilio要求使用HTTPS向其API发出请求。

的另一位用户解决了这个问题

要启用扩展,请转到WAMP目录(类似C:''path''To''WAMP''bin''php''php#.#.#''php.ini)并取消注释;extension=php_opensl.dll.

请确保在之后重新启动WAMP。

希望这能有所帮助!