Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在单个登录页面中使用多用户登录的Json登录_Javascript_Html_Json_Login - Fatal编程技术网

Javascript 在单个登录页面中使用多用户登录的Json登录

Javascript 在单个登录页面中使用多用户登录的Json登录,javascript,html,json,login,Javascript,Html,Json,Login,我试图使用JSON做一个登录表单,我有3个不同的用户在一个登录页面中登录,他们是1。用户2。管理员3。供应商 这是。我这样做是作为一个测试用例,稍后我会将身份验证详细信息更改为服务器端 <html> <head> <title> Login Form</title> <script> function validate() { var username = document.getElementById

我试图使用JSON做一个登录表单,我有3个不同的用户在一个登录页面中登录,他们是1。用户2。管理员3。供应商 这是。我这样做是作为一个测试用例,稍后我会将身份验证详细信息更改为服务器端

<html>
<head>
<title> Login Form</title>
<script>
     function validate()
    {
        var username = document.getElementById("username").value;
        var password = document.getElementById("password").value;
        var loginlist = { "User": {
                                "userlist":[{"username":"usr1", "password":"a123"},{"username":"usr2", "password":"a123"},{"username":"usr3", "password":"a123"}],
                                "ID":1
                            },  
                            "Admin": {
                                    "adminlist":[{"username":"admin1", "password":"b123"},{"username":"admin2", "password":"b123"},{"username":"admin3", "password":"b123"}],
                                    "ID":2
                            },  
                            "Supplier": {
                                    "supplierlist":[{"username":"sup1", "password":"c123"},{"username":"sup2", "password":"c123"},{"username":"sup3", "password":"c123"}],
                                    "ID":1
                            }   
        };
        var logged = false;
        if(loginlist[0].User.ID === 1){
            for(var i =0; i < loginlist[0].User.userlist.length; i++){
                if(username == loginlist[0].User.userlist[i].username && password == loginlist[0].User.userlist[i].password){
                    logged= true;
                }
            }
            if(logged)
            alert("User login");

            else
            alert("User login fail");               

        }
        else if(loginlist[0].Admin.ID === 2){
            for(var j =0; j < loginlist[0].Admin.adminlist.length; j++){
                if(username == loginlist[0].Admin.adminlist[j].username && password == loginlist[0].Admin.adminlist[j].password){
                    logged= true;
                }
            }
            if(logged)
            alert("Admin login");

            else
            alert("admin login fail");

        }
        else{
            for(var k =0; k < loginlist[0].Supplier.supplierlist.length; k++){
                if(username == loginlist[0].Supplier.supplierlist[k].username && password == loginlist[0].Supplier.supplierlist[k].password){
                    logged= true;
                }
            }
            if(logged)
            alert("Supplier login");

            else
            alert("supplier login fail");

        }
    }
</script>
</head>
<body>
<div class="container">
<div class="main">
<h2>Login Form</h2>
<form id="form_id" method="post" name="myform">
<label>User Name :</label>
<input type="text" placeholder="Enter username" name="username" id="username"/>
<label>Password :</label>
<input type="password" placeholder="Enter Password" name="password" id="password"/>
<input type="button" value="Login" id="submit" onclick="validate()"/>
</form>
</body>
</html>

登录表单
函数验证()
{
var username=document.getElementById(“用户名”).value;
var password=document.getElementById(“密码”).value;
var loginlist={“用户”:{
“用户列表”:[{“用户名”:“usr1”,“密码”:“a123”},{“用户名”:“usr2”,“密码”:“a123”},{“用户名”:“usr3”,“密码”:“a123”}],
“ID”:1
},  
“管理员”:{
“adminlist”:[{“用户名”:“admin1”,“密码”:“b123”},{“用户名”:“admin2”,“密码”:“b123”},{“用户名”:“admin3”,“密码”:“b123”}],
“ID”:2
},  
“供应商”:{
“供应商列表”:[{“用户名”:“sup1”,“密码”:“c123”},{“用户名”:“sup2”,“密码”:“c123”},{“用户名”:“sup3”,“密码”:“c123”}],
“ID”:1
}   
};
var=false;
如果(登录列表[0]。User.ID==1){
对于(var i=0;i

我已经试过了。我的问题是,当我在用户名和密码中输入一些内容时,没有显示任何内容,我已经完成了这种程序,但使用的是单用户操作。我无法在一个登录页面中实现多个用户,我不太确定将每个单独的用户类型作为单独的数组的原因是什么,这对于某些特定的用例可能是好的,但是将所有用户放在一个集合中肯定会更简单

将所有内容都放在一个数组中,然后提供一些用于获取特定用户类型的函数将是一种更好的方法,因为这样一来,从一开始就不必太担心结果。此外,你应该始终尽可能多地使用原材料;尽管人们可能会觉得这是有争议的

除非需要,否则最好不要在HTML的
标记中触发JavaScript代码,因为代码是在加载所有文档之前执行的。通常,将所有JavaScript代码放在关闭标记之前比较安全

我还注意到您在单击按钮时触发了
validate
功能。如果您通过除此之外的任何其他方法提交表单(例如,在焦点输入字段上按enter键),则会出现问题。我向表单本身添加了一个事件侦听器,它应该处理所有常见的提交案例

我让用户数组只有一个级别,其中包含所有用户。每个用户都有一个类型,用于确定用户的类型(普通用户、管理员用户、供应商等)

我已经对下面的每一行代码进行了注释

此脚本不应用于任何类型的生产。这是危险的,因为所有的检查都是在客户端和客户端进行的。始终使用服务器端检查,最好也在测试脚本中使用

单击下面的“运行代码段”按钮在此处测试脚本

您可以在JavaScript脚本的最开始部分从数组中找到用户名和密码

//在此处存储所有登录用户的ID
var loggedusers=[];
//服务器应该处理下面的一切。。。
//用户数组,其中包含系统中的所有用户
//例如,在服务器端,这可能是MySQL数据库表返回的数组
变量用户=[{
//用户的ID
id:1,
//用户的用户名
用户名:“user1”,
//用户的密码,请注意,这显然应该在服务器端散列
//对于PHP后端:最好使用“password\u hash”进行散列,如果使用PHP版本5.5或更高版本,则使用“password\u verify”进行比较
密码:“a”,
//用户类型,当前使用“用户”、“管理员”和“供应商”,但从技术上讲,它可以是任何类型_
类型:“用户”
}, {
id:2,
用户名:“admin1”,
密码:“b”,
键入:“管理员”
}, {
id:3,
用户名:“供应商1”,
密码:“c”,
类型:“供应商”
}];
// ... 到目前为止,永远不要将这些数据存储在客户端(特别是高度敏感的信息,如散列、盐,甚至更糟糕的是,如上面的纯文本密码)。
/**
*null |对象getUserByProperty(混合键,混合值[,布尔严格=false,布尔多重=false,布尔大小写不敏感=false])
*
*G
<?php

function jumlah_like($url){

    // Query di FQL
    $myfql  = "SELECT like_count, share_count, comment_count ";
    $myfql .= " FROM link_stat WHERE url = '$url'";

    $fqlURL = "https://api.facebook.com/method/fql.query?format=json&query=" . urlencode($myfql);

    // Facebook Response dalam JSON
    $response = file_get_contents($fqlURL);
    return json_decode($response);

}

$page_name = "https://www.facebook.com/dumetschool/?ref=ts&fref=ts"; 
$fb = jumlah_like(https://www.facebook.com/gegegenogege);

//var_dump($fb);

// jumlah like facebook
echo "URL = ".$page_name;
echo "


<h1><small>Jumlah Like:</small> ". $fb[0]->like_count ."</h1>


";

?>