twilioから受け取ったSMSをデータベースに保存しているので、後で使用することができます。私がサンドボックスでこれをしたとき、それはうまくいった。しかし、通常の電話番号にアップグレードしたときに受信した番号は+1になります(またはxが元の番号であるxxxxxxxxxxの場合、1xxxxxxxxxx +のようになります)twilioから電話番号の形式を受け取った
したがって、mysql_query次のように:しかし、それはまだ動作していません。これが元の電話番号であることを認識するためにできることは何ですか?
<?php
$starttime = time();
$number = $_POST['number'];
$number1 = "1" . $number;
$number2 = $number . "1";
$number3 = "+1" . $number;
$number4 = $number . "+1";
$number5 = "+" . $number . "1";
$number6 = "1" . $number . "+";
$number7 = $number."1+";
$received = mysql_query("SELECT * FROM sms_received
WHERE (responder='$number' OR responder='$number1'
OR responder='$number2' OR responder='$number3'
OR responder='$number4' OR responder='$number5'
OR responder='$number6' OR responder='$number6')
AND (body='y' OR body='yes' OR body='Y' OR body='Yes' OR 'yea' OR 'Yea')
AND timestamp BETWEEN ".date('Y-m-d H:i:s', strtotime($starttime))." AND NOW()");
?>
まだ、何も受信されていません。任意のアイデアをどのように私はSMSがユーザーから受信されているかどうかを確認することができますか?私はそれがそこにあることをデータベースで見ることができます...しかし、mysqlはそれを見つけることはありません。送信された数字が受け取った数字と同じであったときに以前はうまくいったが、+1を加えてそれをスクリューアップした。 (以前のコードはWHERE responder = '$number'
だったが、それはうまくいったが、追加の変数が役に立たなかった)。 このコードのORが多すぎますか?それも問題ですか?
UPDATE:
おかげで、ここで私はそれをデータベースに保存する前に、XXXXXXXXXX形式まで数を取り除くために使用している機能である:
function checkPhone($responder){
$items = Array('/\ /', '/\+/', '/\-/', '/\./', '/\,/', '/\(/', '/\)/', '/[a-zA-Z]/');
$clean = preg_replace($items, '', $responder);
if (substr($clean, 0, 1) == "1") {
return substr($clean, 1, 10);
}
else {
return substr($clean, 0, 10);
}
}
$number = checkPhone($responder);
大丈夫Iやった電話番号は何か? –
私が使用しているOKのsubstrで始まる場合、私は確認することができますどのようにpreg_replace、文字列から部分文字列を削除するには?(私は1を削除したい) –
okこれを今すぐ更新しました –