這裏是我的代碼爲optverify.php如果輸入數字是錯誤的重定向到index.php它不給error.its應該給錯誤的錯誤otp,但請幫助我解決這個問題如何驗證從php mysql的6位otp
<?php
// Create a unique instance of your session variables
session_start();
if(isset($_SESSION['usr_id']))
{
$uid=$_SESSION['usr_id'];
} else {
header("Location:login.php");
}
require_once 'include/DB_Functions.php';
$db = new DB_Functions();
if (isset($_POST['verifyotp'])) {
$otpsms = $_POST['smsotp'];
$otpemail = $_POST['emailotp'];
$user = $db->verifyotp($uid);
if($user){
$user['smsotp'] = $otpsms;
$user['emailotp'] = $otpemail;
header("Location:index.php");
} else {
$errormsg = "Invalid otp";
}
}
?>
和我的數據庫功能代碼如下所示
public function verifyotp($uid){
$stmt = $this->con->prepare("SELECT uid,smsotp,emailotp FROM users WHERE uid = '$uid'");
$stmt->bind_param("i", $uid);
if ($stmt->execute()) {
$stmt->bind_result($uid,$smsotp,$emailotp);
$stmt->fetch();
$user = array();
$user["uid"] = $uid;
$user["smsotp"] = $smsotp;
$user["emailotp"] = $emailotp;
$stmt->close();
return $user;
} else
{
return $stmt;
}
}
您可以將兩個參數傳遞給函數verifyotp($ uid),比如verifyotp($ uid,$ otp)並在查詢中檢查相同的id以及使用和條件。 –
可以你給我舉一個例子,我有點迷惑做它 –
它不工作同樣的事情正在發生它不給錯誤無效otp –