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

时间:2013-08-16 18:55:04

标签: php javascript html web-applications twilio

我正在努力实施一个获取链接按钮,一旦您在文本字段中输入您的电话号码,该按钮将通过文本向您发送链接。我正在使用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:驱动器中有文件,也许我不知道。因此,如果有人能够看到我出错的地方,并解释为什么它会失败,那就太棒了!

谢谢,

每个人

P.S。 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

1 个答案:

答案 0 :(得分:0)

Twilio开发者传播者在这里。

我认为问题是由于您的本地开发环境中未启用SSL扩展。 Twilio requires requests to its API to be made using HTTPS

此问题已由其他用户here

解决

要启用扩展程序,请转到WAMP目录(例如C:\ path \ to \ wamp \ bin \ php \ php#。#。#\ php.ini)并取消注释; extension = php_openssl.dll。< / p>

确保在之后重启WAMP。

希望这有帮助!