重複の可能性:
データベースで正しい電子メール アドレスが見つからない
if else ステートメントに問題があります。テキストボックスに正しいユーザー名と電子メールを入力すると、else ステートメントに進み続け、if ステートメントを実行して「あなたの詳細は正しい」とエコーするのではなく、「間違った電子メール アドレスに入力しました」とエコーします。データベースから正しいユーザー名とそのユーザーに関連付けられた正しい電子メールを入力したにもかかわらず、間違ったステートメントがエコーされる理由を誰かが知っていますか?
if (isset($_POST['resetbtn'])) {
//get form data
$user = $_POST['user'];
$email = $_POST['email'];
//make sure info is provided
if ($user) {
if ($email) {
if ((strlen($email) >= 7) && (strstr($email, "@")) && (strstr($email, "."))) {
$query = "SELECT TeacherUsername, TeacherEmail FROM Teacher WHERE TeacherUsername = ?";
// prepare query
$stmt = $mysqli->prepare($query);
// You only need to call bind_param once
$stmt->bind_param("s", $user);
// execute query
$stmt->execute();
// get result and assign variables (prefix with db)
$stmt->bind_result($dbTeacherUsername, $dbTeacherEmail);
//get number of rows
$stmt->store_result();
$numrows = $stmt->num_rows();
if ($numrows == 1) {
$row = $stmt->fetch();
$dbTeacherEmail = $row['TeacherEmail'];
//make sure email is correct
if ($email == $dbTeacherEmail) {
echo "Your details are correct";
} else {
echo "You entered in the Wrong Email Address";
}
} else {
echo "Please Enter in your Email";
}
} else {
echo "Please Enter in your Username";
}
}
}
}