Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa Tarde Galera. Sou novo mundo da programação, então acho natural ter muitas duvidas, vamos a o que interessa.
Galera andei dano umas pesquisadas no forum, para resolver meu problema, achei algo mas pra mim ainda esta meio cru, http://forum.imasters.com.br/topic/395570-resolvidoc-verificar-usurio-logado/
Um mebro do Imaster, recomenda o site para um que tinha quase mesma duvida que eu, é esse site aqui.
http://www.bufaloinfo.com.br/artigos/artigo1510.asp Meu problema é o seguinte fiz tudo que manda nesse site ai, pra validar se o usuário esta logado ou não. Mas meu problema é o seguinte, o usuario loga blz, quando e redirecionado para a pagina certa ai tudo bem, o problema é que quando eu tendo ir direto para pagina sem estar logado ocorre o seguinte error.
Referência de objeto não definida para uma instância de um objeto.Descrição: Ocorreu uma exceção não tratada durante a execução da atual solicitação da Web. Examine o rastreamento de pilha para obter mais informações sobre o erro e onde foi originado no código.
Detalhes da Exceção: System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto.
Erro de Origem:
Linha 51: Session.Timeout = 300;Linha 52: Linha 53: usuario = this.Session["loginAluno"].ToString();Linha 54: Linha 55: cmdcod.CommandText = "SELECT aluno_codAluno FROM loginusuarios WHERE loginAluno ='" + usuario + "'";
vou postar meus codigo abaixo:
Default.cs
protected void Button1_Click(object sender, EventArgs e)
{
this.Session["loginAluno"] = this.tbLogin.Text;
try
{
con.Open();
string sql = "SELECT aluno_codAluno, loginAluno FROM loginusuarios WHERE loginAluno=@Usuario AND senha=@Senha";
cmd.CommandText = sql;
cmd.Parameters.Clear();
cmd.Parameters.Add(new MySqlParameter("Usuario", tbLogin.Text));
cmd.Parameters.Add(new MySqlParameter("Senha", tbSenha.Text));
reader = cmd.ExecuteReader();
bool countss = false;
if (reader.Read())
{
string aluno_codAluno = reader["aluno_codAluno"].ToString();
this.Session["UsuarioId"] = aluno_codAluno;
countss = true;
}
if (countss)
{
FormsAuthentication.RedirectFromLoginPage(tbLogin.Text,CheckBox1.Checked);
Response.Redirect("Seguranca/autorizado.aspx");
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "teste", "alert('Login ou Senha Incorreto, Verifique');", true);
}
}
catch (Exception ex)
{
ClientScript.RegisterStartupScript(this.GetType(), "teste", "alert('Erro ao logar no DB');", true);
}
}
Esta parte a cima funciona corretamente a baixo onde o codigo da error.
protected void Page_Load(object sender, EventArgs e)
{
StringBuilder str = new StringBuilder();
StringBuilder str1 = new StringBuilder();
StringBuilder str2 = new StringBuilder();
StringBuilder str3 = new StringBuilder();
StringBuilder str4 = new StringBuilder();
StringBuilder str5 = new StringBuilder();
Session.Timeout = 300;
usuario = this.Session["loginAluno"].ToString(); <--- E esse parte que da o erro, que mostrei mais acima.
cmdcod.CommandText = "SELECT aluno_codAluno FROM loginusuarios WHERE loginAluno ='" + usuario + "'";
try
{
con.Open();
try
{
readerler = cmdcod.ExecuteReader();
while (readerler.Read())
{
codigoAluno = readerler.GetValue(0).ToString();
}
}
catch (InvalidCastException ex)
{
ClientScript.RegisterStartupScript(this.GetType(), "teste", "alert('CAIU NO CATCH');", true);
}
}
catch (Exception ex)
{
ClientScript.RegisterStartupScript(this.GetType(), "teste", "alert('aaaaaaaaaaaaaa');", true);
}
cmd.CommandText = "SELECT nomeAluno, A.codTurma, descricao, dataNascimento FROM aluno as A, turma as T WHERE A.codAluno = '" + codigoAluno + "' AND A.codTurma = T.codTurma AND A.nomeAluno = nomeAluno AND T.descricao = descricao";
try
{
con.Close();
con.Open();
try
{
reader = cmd.ExecuteReader();
while (reader.Read())
{
nomeAluno = reader.GetValue(0).ToString();
codTurma = reader.GetValue(1).ToString();
descricao = reader.GetValue(2).ToString();
dataNascimento = reader.GetValue(3).ToString();
}
}
catch (InvalidCastException ex)
{
ClientScript.RegisterStartupScript(this.GetType(), "teste", "alert('" + ex + " CAIU NO CATCH');", true);
}
}
catch (Exception ex)
{
ClientScript.RegisterStartupScript(this.GetType(), "teste", "alert('bbbbbbbb ');", true);
}
str.Append("" + codigoAluno + "");
lbRa.Text = str.ToString();
str1.Append("" + nomeAluno + "");
lbNome.Text = str1.ToString();
str2.Append("" + descricao + "");
lbSerie.Text = str2.ToString();
str3.Append("" + dataNascimento + "");
lbNasc.Text = str3.ToString();
}
protected void Button1_Click(object sender, EventArgs e)
{
FormsAuthentication.SignOut();
}
Obrigado, espero não estar quebrando nem 1 regra postando esse monte de coisa ^^. Obrigado
Carregando comentários...