Я работаю на странице входа, используя сокет io. когда я использую логин с именем пользователя, он работает нормально. Как я могу войти в систему с именем пользователя и паролем, так что если имя пользователя и пароль не так много, появляется сообщение об ошибке. Любой совет. Спасибо заранее
Со стороны сервера app.js
users = {};
io.sockets.on('connection', function(socket)
{
socket.on('new user',function(data,callback)
{
if (data in users)
{
callback(false);
}
else
{
callback(true);
socket.nickname= data;
users[socket.nickname]=socket;
updateNicknames();
}
});
Со стороны клиента index.html .. здесь, в HTML, у нас есть поля для имени пользователя и пароля для входа в систему
<body>
<div id="nickWrap">
<form id="test">
<div class="setNick">
<i class="fa fa-user" aria-hidden="true"></i>
<input id="nickname" type="text" placeholder="NickName" name="" value="">
</div>
<div class="setpass">
<i class="fa fa-unlock-alt" aria-hidden="true"></i>
<input id="password" type="text" placeholder="Password" name="" value="">
</div>
<input class="btn" type="submit" name="" value="Sign in">
</form>
<p id='nickError'></p>
</div>
<div id="contentWrap">
<div id="chatWrap">
<div id="chat"></div>
<form id="send-message">
<input size="35" id="message"></input>
<input type="submit"></input>
</form>
</div>
<div id="users"></div>
</div>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script>
jQuery(function($){
var socket = io.connect();
var $testForm =$('#test');
var $setpassForm = $('#setpass');
var $passwordBox=$('#password');
var $nickForm = $('#setNick');
var $nickError= $("#nickError");
var $nickBox =$('#nickname');
var $users = $('#users');
$testForm.submit(function(e)
{
e.preventDefault();
socket.emit('new user',$nickBox.val(),function(data)
{
if (data)
{
$('#nickWrap').hide();
$('#contentWrap').show();
}
else
{
$nickError.html(' Opps! This username is already taken!);
}
});
$nickBox.val('');
$passwordBox.val('');
});
</script>
</body>
</html>