我剛剛創建了一個腳本,用於檢查用戶是否已經激活了他的帳戶。如果是這樣,它應該說「該帳戶已被激活」,如果沒有,然後激活該帳戶。問題是它總是說「激活成功」。有人能幫助我嗎?檢查電子郵件是否已被激活不起作用
<?php
session_start();
include_once 'dbconnect.php';
$dbconnect = mysqli_connect('server', 'user', 'password', 'database');
if (isset($_GET['email'])) {
$email = $_GET['email'];
}
if (isset($_GET['status']) && (strlen($_GET['status']) == 32)) {
$status = $_GET['status'];
}
if (isset($email) && isset($status)) {
$sql = "SELECT status FROM users WHERE email='$email'";
$result = mysql_query($sql);
if ($result == 'active') {
echo" <div style='position:absolute;left:29.5%;top:10%;width:41%;' class='alert alert-danger'>
<a href='#' class='close' data-dismiss='alert' aria-label='close'>×</a>
<strong>Chyba!</strong> Účet je již aktivován!
</div>";
} else {
$query_activate_account = "UPDATE users SET status='active' WHERE(email ='$email' AND status='$status')";
$result_activate_account = mysqli_query($dbconnect, $query_activate_account);
echo" <div style='position:absolute;left:29.5%;top:10%;width:41%;' class='alert alert-success'>
<a href='#' class='close' data-dismiss='alert' aria-label='close'>×</a>
<strong>ĂšspÄ›ch!</strong> Aktivace probÄ›hla ĂşspěšnÄ›! <a href='signin.php'>PĹ™ihlášenĂ</a>
</div>";
}
}
?>
你混合mysql和mysqli的功能 – Tristan
您所查詢的是開放的SQL注入。在任何查詢中使用它之前,您需要清理您的用戶輸入,或者最好使用準備好的語句。 –