Я пытаюсь создать систему проверки смс только для обучения.
Таким образом, структура файла будет следующей
Index.php Form.php Sendcode.php Verify.php
Здесь я пытаюсь понять, как я могу заставить перенаправленных пользователей перенаправляться в form.php, и если они проверяют, их число перенаправляется обратно в index.php, в противном случае запрашивается подтверждение их номера в форме. PHP с ошибкой. Таким образом, если статус в БД установлен как 1, пользователь может получить доступ к index.php, в противном случае статус остается равным 0 и требуется для проверки номера в form.php
Может кто-то помочь мне с этим? Возможно, напишите пример кода index.php
Вот содержимое файла
form.php
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#phone").submit(function()
{
var phone_no = $('#phone_no').val();
if(phone_no != '')
{
$.post("sendcode.php", { phone_no: phone_no },
function(data)
{
$(".result").html(data);
},
"html");
}
return false;
});
});
</script>
<div class = "result"></div>
<p>Enter your phone number below, and we will send you a verification code to that phone number.</p>
<form id = "phone" method = "POST" action = "">
<label for = "phone">Phone number</label>
<input name = "phone" type = "text" id = "phone_no" />
<input name = "submit" type = "submit" value = "Send Verification Code" />
</form>
<p>Enter Verification Code received to the phone number specified above in the form below.</p>
<form id = "verification" method = "POST" action = "verify.php">
<label for = "code">Verification Code</label>
<input name = "code" type = "text" id = "code" />
<input name = "submit" type = "submit" value = "Verify" />
</form>
Sendcode.php
<?php
// configuration
/*** mysql hostname ***/
$hostname = 'localhost';
// database name
$dbname = '';
/*** mysql username ***/
$username = 'username';
/*** mysql password ***/
$password = 'password';
// enter SID here
$twilioSid = '';
// enter twilio token here
$twilioToken = '';
if(isset($_POST['phone_no']))
{
try
{
$verifyCode = rand(1000, 9999);
$phone = $_POST['phone_no'];
$dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);
/*** add verification code and phone number to db **/
$sth = "INSERT INTO user (phone, code) VALUES(:phone, :code)";
$command = $dbh->prepare($sth);
$command->bindParam(':phone', $phone, PDO::PARAM_STR);
$command->bindParam(':code', $verifyCode, PDO::PARAM_INT);
$command->execute();
// twilio library
require ('Services/Twilio.php');
$client = new Services_Twilio($twilioSid, $twilioToken);
// send sms with verifcation code
$response = $client->account->sms_messages->create('555-555-555', $phone, 'Verification code ' . $verifyCode);
echo '<p>A verification code was sent to your phone number. Please enter it below.</p>';
/*** close the database connection ***/
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
?>
Verify.php
<?php
if(isset($_POST['code']))
{
$verifyCode = $_POST['code'];
/*** mysql hostname ***/
$hostname = 'localhost';
/*** database name ***/
$dbname = '';
/*** mysql username ***/
$username = 'username';
/*** mysql password ***/
$password = 'password';
try {
$dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);
// USER_ID is the login ID of the user
$sql = "SELECT code FROM user WHERE id = {$user_id}";
$sth = $dbh->query($sql);
$code = $sth->fetchColumn();
if($code == $verifyCode)
{
echo "Your account has been validated.";
// verify user in db
$todo = "UPDATE user SET status = 1 WHERE user_id = {$user_id}";
$dbh->execute($todo);
}
else
{
echo "Your account has not been validated.";
}
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
?>
Рики из Twilio здесь.
Мы собрали учебник показывая, как построить это приложение, используя Authy. Хотя, возможно, это не совсем то, что вам нужно, если посмотреть, как мы структурировали пример приложения.
Для приложения, более похожего на то, что вы собираете, вы также можете взглянуть на этот пост в блоге, в котором подробно рассказывается, как создать простую систему проверки телефона с помощью Twilio, PHP, MySQL и jQuery.
Надеюсь, что эти ресурсы помогут!
Других решений пока нет …