Ir para o conteúdo
kalex

Problemas com Login

Mensagens Recomendadas

kalex

Olá! estou a desenvolver um programa para fazer a manutenção de um hotel (reservas, funcionários, clientes..)

Tenho uma base de dados ligada onde insiro novas reservas e novos funcionários, no caso dos funcionários também guarda o nome de utilizador e a password, e tenho uma form de login na qual quando se inserir a informação correta do funcionário (nome de utilizador e password), abre outra form com a informação do funcionário (nome, horário de trabalho..)

O meu problema é que eu crio um funcionário, vou fazer login e funciona tudo bem, abre a outra form com a informação do mesmo, mas quando crio o segundo funcionário só consigo fazer login com os dados do segundo funcionário, se tentar com os dados do primeiro não funciona, isso acontece se criar 3, 4..

Alguma sugestão?

Agradeço desde já!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
kalex

Boas!

Mostra o teu código.

Boas!

A parte do registro do funcionário:

Public Class cadfun



   Private Sub cadfun_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Me.CadfunTableAdapter.Fill(Me.CadfuncionarioDataSet.cadfun)
       Me.cadfunBindingSource.AddNew()


   End Sub

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       If NomeTextBox.Text <> "" Then
           MsgBox("Funcionário salvo com sucesso")
           Me.Validate()
           Me.CadfunBindingSource.EndEdit()
           Me.TableAdapterManager.UpdateAll(Me.CadfuncionarioDataSet)
           ''''

       Else
           MsgBox("Introduza o nome do funcionário")
       End If
   End Sub

Aspeto da form de registro do funcionário: http://i.imgur.com/C0VVjIe.png

Form de login:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       If TextBox1.Text = cadfun.Nome_de_utilizadorTextBox.Text And TextBox2.Text = cadfun.PasswordTextBox.Text Then
           MsgBox("Login do funcionário efetuado com sucesso")


       End If
   End Sub
End Class

ps: textbox1 = username da form de login

textbox2 = password da form de login

Nome_de_utilizadorTextBox = username da form de registro do funcionário

PasswordTextBox.Text = password da form de registro do funcionário

obrigado!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
AJBM

Coloca o teu código dentro de tags.

Para validar o login precisas comparar as credenciais do funcionário no login com os que tens na base dados.

Pelo que percebi estas apenas a verificar se as credenciais, são iguais ao utilizador que acabaste de criar.

Editado por AJBM

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
kalex

Coloca o teu código dentro de tags.

Para validar o login precisas comparar as credenciais do funcionário no login com os que tens na base dados.

Pelo que percebi estas apenas a verificar se as credenciais de acesso, são iguais ao utilizador que acabaste de criar.

Como faço para comparar as credenciais do funcionário no login com os que tenho na base de dados?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Cerzedelo

Para distinguir os funcionários na base de dados tem de ter um id por funcionário. Imagine o que acontece, se tiver dois funcionários com o mesmo nome, qual e o que o programa vai identificar.

Assim, o que tem de fazer no login, e comparar o nome ou melhor o número do funcionário, pois a partida será único, e a password com os dados já inseridos na base de dados. E se eles coincidirem, o login e aceite senão é rejeitado.

Convem fazer um hash à password, para melhorar a segurança.

Veja os seguintes exemplos:

http://www.macoratti.net/vbn_log1.htm

http://www.macoratti.net/vbn_flg2.htm

http://www.macoratti.net/14/12/vda011214.htm

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
kalex

Para distinguir os funcionários na base de dados tem de ter um id por funcionário. Imagine o que acontece, se tiver dois funcionários com o mesmo nome, qual e o que o programa vai identificar.

Assim, o que tem de fazer no login, e comparar o nome ou melhor o número do funcionário, pois a partida será único, e a password com os dados já inseridos na base de dados. E se eles coincidirem, o login e aceite senão é rejeitado.

Convem fazer um hash à password, para melhorar a segurança.

Veja os seguintes exemplos:

http://www.macoratti.net/vbn_log1.htm

http://www.macoratti.net/vbn_flg2.htm

http://www.macoratti.net/14/12/vda011214.htm

eu tenho id por cada funcionário, e cada vez que criar outro funcionário o id incrementa 1

Eu não fiz ligação à base de dados com Connection e coisas assim

Eu comparei e aceita o login, só que só aceita do último funcionário criado, como se quando criasse o segundo, apagasse os dados do primeiro

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Cerzedelo

Em primeiro verifique se a inserçao dos funcionários esta correcta, i.e., se a mesma esta na base de dados. Como esta a usar tableadapter pode usar a propriedade FillBy para procurar na base de dados o funcionário. Ver: https://msdn.microsoft.com/en-us/library/kda44dwy.aspx

Tenha em atenção não ter 2 funcionários com o mesmo nome e as vezes acontece que quando sai do VB e fecha a aplicação ela apaga os dados que inseriu devido a trabalhar com uma base de dados provisoria, isso so acontece em desenvolvimento, em modo produção já não acontece.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.