Verificar se o login e a senha estão no banco de dados sqlite

1. Verificar se o login e a senha estão no banco de dados sqlite

Flamarion França
Gazua

(usa Debian)

Enviado em 12/05/2020 - 15:16h

Olá à todos,
Bem, eu fiz um formulário com dois campos, login e senha, também criei uma página de cadastros que armazena o nome e senha um banco de dados sqlite. Então, gostaria de saber como faço para quando inserir logina e senha, ambos sejam buscados na tabela do banco de dados, caso contrário o login não pode ser efetuado.

Aqui está o HTML da página de login:
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Acessar</title>

</head>
<body onload="login.focus()">
<header><h2>Acessar</h2></header>
<section>
<form action="perfil.html" method="get" onsubmit="return validar(this)">
<fieldset>
<legend>Coloque seus dados para acessar</legend>
<label for="login">Login: <input type="text" name="" id="login"></label>
<p><label for="pass">Senha: <input type="password" name="" id="pass"></label></p>
<input type="submit" value="Acessar">
<input type="button" value="Limpa" onclick="limpa()">
<p><a href="cadastrar.html">Cadastre-se</a></p>
</fieldset>
</form>
</section>
</body>
<script src="cadastrar.js"></script>
</html>

Esse é o script da página de cadastro, onde se encontra o banco de dados:

<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cadastro</title>
<script>
var db = openDatabase('Meu banco', '2.0', 'My base', 10000)
db.transaction(function(criar){
criar.executeSql('CREATE TABLE users(ID PRIMARY KEY, nome TEXT, email TEXT, senha TEXT)')
})
</script>
</head>
<body>
<header><h2>Página de cadastros</h2></header>
<section>
<form action="cadastrar.js" onsubmit="return valida(this)">
<fieldset>
<legend>Informe seus dados</legend>
<label for="nome">Nome:</label><input type="text" name="nomePhp" id="nome">
<p><label for="email">E-mail:</label><input type="text" name="emailPhp" id="email"></p>
<p><label for="senha">Senha:</label><input type="password" name="" id="senha"></p>
<label for="senhaConfirma">Confirme a senha:</label><input type="password" name="" id="senhaConfirma">
<p><input type="submit" value="Enviar">
<input type="button" value="Limpar" onclick="limpar()"></p>
</fieldset>
</form>
</section>
</body>
<script src="cadastrar.js"></script>
</html>

e aqui é o arquivo js, que valida ambos formulários, tanto a página de login, quanto a do cadastro.

//script da pagina de cadastro
function valida(frm){
//window.alert(navigator.appVersion)
if(frm.nome.value == 0 || frm.senha.value == 0 || frm.senhaConfirma.value == 0 || frm.email.value == 0){
alert('Preencha todos os campos!')
return false
}

if(frm.email.value.indexOf('@') == -1 || frm.email.value.indexOf('.') == -1){
alert('E-mail inválido!')
frm.email.focus()
return false
}

if(frm.senha.value != frm.senhaConfirma.value){
alert('As senhas não conferem!')
frm.senha.focus()
return false
}

var nome = frm.nome.value
var email = frm.email.value
var senha = frm.senha.value
document.write('<p>Verique seus dados</p>'+
'Nome: '+nome+'<br><br>'+
'E-mail: '+email)
document.write('<p></p>')
var btn = document.createElement('button')
var btn2 = document.createElement('button')
var butConfirma = document.createTextNode('Confirma')
var butLimpa = document.createTextNode('Voltar')
btn.appendChild(butLimpa)
btn2.appendChild(butConfirma)
document.body.appendChild(btn)
document.write('&nbsp&nbsp')
document.body.appendChild(btn2)

btn2.onclick= function salvar(){

db.transaction(function(armazenar){
armazenar.executeSql("INSERT INTO users (nome, email, senha) VALUES (?,?,?)", [nome, email, senha])
})
window.location.reload()
}
btn.onclick = function voltar(){
window.location.reload()
}
}

function limpar(){
nome.value = ''
email.value = ''
senha.value = ''
senhaConfirma.value = ''
nome.focus()
}
//fim do script

//script da pagina de login
function validar(frm){
if(frm.login.value == 0 || frm.pass.value == 0){
alert('Preencha os campos!')
return false
} else{
//Isso foi que tentei para verificar o nome de usuário(sem sucesso, por isso nem tentei com a senha)
var buscarNome = db.transaction(function(busca){
busca.executeSql('SELECT nome FROM users')

if(frm.login.value != buscarNome){
alert('Usuário incorreto!')
return false
}
})
}
}

function limpa(){
login.value = ''
senha.value = ''
login.focus()
}

Pra ficar mais explicito entendimento.
Eu fiz uma tela de logina com usúario e senha, este, precisa ser buscado na tabela sqlite pra ver se existem, caso contrário tem u link que leva até a página de cadastro para inserir o usúario e senha que ainda não existem. O que quebra minha cabeça é, como faço para quando for logar, tanto usuário quanto senhas, sejam verificados no banco sqlite, para poder dar acesso.





  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts