簡體   English   中英

驗證數據庫中的值

[英]Verifying the values from database

我對mysql表很陌生,我知道我應該使用PDO或mysqli,但這只是學校的一個示例。

這是我有問題的代碼:

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {

if ($uporab != $row['uporabnisko'] || $pass != $row['geslo']){  
    echo '<script language="javascript">';
    echo 'alert("Uporabnisko ime ali geslo ni pravilno! Prosim poskusi znova.")';
    echo '</script>';

    header('Location: index1.php');
}
else{
    header('Location: Stranzaindexom.html');
}
}

當我使用“ while”時,我會彈出5次錯誤(我認為這取決於數據庫表中有多少個值),但是當我不使用while時,只會檢查第一個id(第一行)表..我檢查了其他答案,但沒有找到合適的答案。.有幫助嗎?

PS:與數據庫的連接成功,並且獲取表的值對..所以我的問題就在這里。

也許你可以試試這個

為什么我們需要選擇所有記錄並檢查所有記錄,所以最好的辦法就是只提取必要的記錄。

$result = mysql_query("SELECT * name FROM usertable WHERE uporabnisko='$uporab' AND geslo = '$pass'");
if($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{
    echo '<script language="javascript">';
    echo 'alert("Uporabnisko ime ali geslo ni pravilno! Prosim poskusi znova.")';
    echo '</script>';
    echo "<script language='javascript'> window.location='index1.php'; </script>";
}
else
{
    echo "<script language='javascript'> window.location='Stranzaindexom.html'; </script>";
}

考慮反向檢查肯定的情況,並在其他情況下發出警報,例如:

if ($uporab == $row['uporabnisko'] && $pass == $row['geslo']){
    header('Location: Stranzaindexom.html');
    exit();
} else {
    echo '<script language="javascript">';
    echo 'alert("Uporabnisko ime ali geslo ni pravilno! Prosim poskusi znova.")';
    echo '</script>';
}

或在sql上使用用戶名和密碼並指定限制1,因此您不需要一會兒,因為它保證結果集將是1行或0行:

mysql_query("SELECT * FROM users WHERE username='".$escapedUsername."' AND password='".$escapedPassword."' LIMIT 1");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM