I'm having a problem with double logging. I want that, when a user is logged into a browser and wants to log in with the same account in another browser, this one does not allow it.
How can I do it in PHP?
This is my session code:
$user_ip = $_SERVER['REMOTE_ADDR'];
$username = isset($_POST['usuario']) ? addslashes(trim($_POST['usuario'])) : '';
$password = isset($_POST['contrasenia']) ? addslashes(trim($_POST['contrasenia'])) : '';
$errors = array();
if(isset($_POST) && !empty($_POST)){
// Validar nombre de usuario.
$query = @mssql_query('SELECT UserID,Pw FROM PS_UserData.dbo.Users_Master WHERE UserID = \'' . $username . '\'');
if(empty($username)){
$errors[] = 'Por favor, proporcione un nombre de usuario.';
}else if(strlen($username) < 3 || strlen($username) > 16){
$errors[] = 'Nombre de usuario debe tener entre 3 y 16 caracteres de longitud.';
}else if(ctype_alnum($username) === false){
//$errors[] = '';//Nombre de usuario debe consistir en números y letras únicamente.;
}else if (mssql_num_rows($query) == 0){
$errors[] = 'el usuario no existe';
}
// Validar la contraseña de usuario.
$query2 = @mssql_query('SELECT UserID,Pw FROM PS_UserData.dbo.Users_Master WHERE UserID = \'' . $username . '\' and PW = \'' . $password . '\'');
if(empty($password)){
$errors[] = 'Por favor ingrese su contraseña.';
}else if(strlen($password) < 3 || strlen($password) > 16){
$errors[] = 'La contraseña debe tener entre 3 y 16 caracteres de longitud.';
}else if (mssql_num_rows($query2) == 0){
$errors[] = 'Por favor, proporcione la contraseña correcta.';
}