簡體   English   中英

驗證並允許特定的用戶名登錄HTML的用戶名文本字段

[英]Validate and allow specific username to login in username text field of HTML

我只允許兩個選定的用戶單擊“提交”按鈕登錄到我的應用程序。 這兩個用戶名列在名為user.txt的文本文件中,因此,應讀取username參數,如果在文本字段中輸入的用戶名與user.txt文件的條目匹配,則必須允許該用戶登錄,否則出錯應該顯示。

注意:這里的挑戰是我已經有一個validation( validateForm()) ,單擊Submit按鈕可以正常工作。 它檢查以確保用戶名和密碼字段不為空。 我需要這個新的特定用戶名,以允許進行驗證驗證以及單擊“提交”按鈕。

有人可以建議我示例代碼,如何使用Ajax或jQuery或簡單的JavaScript處理此驗證?

Username.txt文件

Username1 : Tom
Username2 : Harry

檢查用戶名和密碼文本字段是否不為空:

function validateForm() {
    var x = document.forms["login"]["userid"].value;
    if (x == null || x == "") {
        alert("Username is empty");
        return false;
    }
    var x = document.forms["login"]["pswrd"].value;
    if (x == null || x == "") {
        alert("Password is empty");
        return false;
    }
}

您需要檢查file.txt所在的服務器(順便說一句:通常將數據庫用於此目的)。

在客戶端(javascript)上執行此操作的唯一方法是將名稱列表包含在數組中-但這沒有意義-因為客戶端可以看到該數組。 因此,您確實應該為此目的使用服務器端。

如果您要進行正確的(安全)身份驗證,請參閱此類教程。

如果只想檢查用戶名,請嘗試以下jQuery代碼:

$.ajax({
    type: "POST",
    url: "script_url",
    dataType: "json",
    data: {
        user : $("#user").val(),
        call : "checkUser"  
    },
    beforeSend: function(){ },
    success : function(response){
        if(!response){
            alert('User not allowed!');
        }
    },
    complete: function(){ }
})

和PHP代碼:

$lines = file('../location/Username.txt');
$arr_users = array();
foreach($lines as $line){
    $arr = explode(':', $line);
    $arr_users[] = trim($arr[1]);
}

function checkUser($request){
    return in_array($request['user']);
}

if (!empty($_POST['call'])) { 
    die($_POST['call']($_POST));
}

最好的祝福!

暫無
暫無

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

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