Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

diego-md

Session com id de usuario

Recommended Posts

Boa tarde a todos,

 

estou com problemas, tenha um sistema de cadastro de usuários e rotas, sendo que o usuário só pode cadastrar uma rota se já estiver cadastrado, mas não sei como fazer para o id do usuário seja utilizado para efetuar cadastro da rota e o mesmo para a alteração do cadastro do usuário conforme seu id. Minha pagina de cadastro está dentro de uma pasta, não está na raiz.

 

vou passar meu codigo que tenho na tela de login:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
  
  public partial class login : System.Web.UI.Page{
        public string idUsuario;
    protected void Page_Load(object sender, EventArgs e)
    {
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Session["CodUsuario"] = "";
        SqlConnection conn = new SqlConnection();
        conn.ConnectionString =  ConfigurationManager.ConnectionStrings"caronaConnectionString"].ConnectionString;
        //conn.ConnectionString = Properties.Settings.Default.nacaobConnectionStr.ToString();
        conn.Open();
        SqlCommand cmd = new SqlCommand();
        cmd.CommandText = "Select * from Usuario Where login = '" + UsernameTextBox.Text + "'";
        cmd.Connection = conn;
        SqlDataReader dr = cmd.ExecuteReader();
        int cont = 0;
        while (dr.Read())
        {
            cont++;
            if (dr["senha"].ToString() == PasswordTextBox.Text)
            {
                //login = UsernameTextBox.Text;
                idUsuario = dr["CodUsuario"].ToString();
                Session["CodUsuario"] = idUsuario;
                // aponta para a pagina default correta
                //Response.RedirectLocation
                Response.Redirect("Logado/Default.aspx");
            }
            else
            {
                //LblbMensagem = "Senha inválida!";
                PasswordTextBox.Text = "";
                PasswordTextBox.Focus();
            }
        }
        if (cont == 0)
        {
            //lblMsg.Text = "Usuário não cadastrado!";
            UsernameTextBox.Focus();
        }
    }
}
Desde já agradeço.

 

Atenciosamente,

 

Diego Maciel Dias

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET > Web Applications

 

Você postou a resposta no titulo do seu tópico.

Utilize a Session["CodUsuario"] que você alimentou.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET > Web Applications

 

Você postou a resposta no titulo do seu tópico.

Utilize a Session["CodUsuario"] que você alimentou.

 

Abraços...

 

Como eu faço pra chamar a seção na página correta, este é o meu problema...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como assim "...chamar a seção na página correta..."?

 

tenho a página default2.aspx, perfil.aspx e cadastrar_rota.aspx e tenho que fazer com que esta páginas recebam o valor da session citada acima...

 

Esta é a minha dificuldade...

 

Atenciosamente,

Diego Maciel Dias

Compartilhar este post


Link para o post
Compartilhar em outros sites

Diego,

 

Ao incluir um valor em uma variável de sessão, esta estará disponível em todas as páginas.

 

Se na página de login você armazenar o ID do usuário em uma variável de sessão ela estará disponível em qualquer uma das páginas que você citou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia,

 

estou usando um formview para fazer inserção de dados no meu banco, preencho todos os campos com dados válidos e ele me retorno que não posde inserir campos nulos.

 

Ocorre o mesmo erro para upload.

 

Alguem sabe o que pode ser?

 

Atenciosamente,

 

Diego

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema da session está ligada diretamente com o do formview, pois o formview deve receber o codusuario que é carregado na sessão quando o usuário efetua o login.

 

Mas deixando de lado a session, eu fiz um datasource para o formview pegando o primeiro registro do banco.

OK, funcionou sem nenhum erro, consigo vizualizar os dados cadastrados, porém quando eu clico no editar, vem os edit e dropdown que editei no "Edit template", mudo a senha do usuário e quando clico em atualizar, vem uma mensagem de erro informando que o campo "nome" da tabela usuario não pode receber null, mas já está preenchido o nome.

 

Este é o problema.

 

O da session continua a duvida, como faço para ligar o formview ao código do usuário que está gravado na session.

 

Não sei se pode me entender agora. Caso não conheça o erro, posso pegar um print do mesmo.

 

Desculpe pela falta de informações na resposta acima.

 

Atenciosamente,

 

Diego Maciel Dias

Compartilhar este post


Link para o post
Compartilhar em outros sites

Diego,

 

Ao incluir um valor em uma variável de sessão, esta estará disponível em todas as páginas.

 

Se na página de login você armazenar o ID do usuário em uma variável de sessão ela estará disponível em qualquer uma das páginas que você citou.

 

OK, isto eu entendi, mas como eu faço para o meu formview receber esta veriável para efetuar a atualização do usuário logado?

 

Atenciosamente,

 

Diego Maciel Dias

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde a todos,

 

estou com problemas, tenha um sistema de cadastro de usuários e rotas, sendo que o usuário só pode cadastrar uma rota se já estiver cadastrado, mas não sei como fazer para o id do usuário seja utilizado para efetuar cadastro da rota e o mesmo para a alteração do cadastro do usuário conforme seu id. Minha pagina de cadastro está dentro de uma pasta, não está na raiz.

 

vou passar meu codigo que tenho na tela de login:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
 
 public partial class login : System.Web.UI.Page{
 public string idUsuario;
 protected void Page_Load(object sender, EventArgs e)
 {
 }
 protected void Button1_Click(object sender, EventArgs e)
 {
 Session["CodUsuario"] = "";
 SqlConnection conn = new SqlConnection();
 conn.ConnectionString = ConfigurationManager.ConnectionStrings"caronaConnectionString"].ConnectionString;
 //conn.ConnectionString = Properties.Settings.Default.nacaobConnectionStr.ToString();
 conn.Open();
 SqlCommand cmd = new SqlCommand();
 cmd.CommandText = "Select * from Usuario Where login = '" + UsernameTextBox.Text + "'";
 cmd.Connection = conn;
 SqlDataReader dr = cmd.ExecuteReader();
 int cont = 0;
 while (dr.Read())
 {
 cont++;
 if (dr["senha"].ToString() == PasswordTextBox.Text)
 {
 //login = UsernameTextBox.Text;
 idUsuario = dr["CodUsuario"].ToString();
 Session["CodUsuario"] = idUsuario;
 // aponta para a pagina default correta
 //Response.RedirectLocation
 Response.Redirect("Logado/Default.aspx");
 }
 else
 {
 //LblbMensagem = "Senha inválida!";
 PasswordTextBox.Text = "";
 PasswordTextBox.Focus();
 }
 }
 if (cont == 0)
 {
 //lblMsg.Text = "Usuário não cadastrado!";
 UsernameTextBox.Focus();
 }
 }
}
Desde já agradeço.

 

Atenciosamente,

 

Diego Maciel Dias

 

Na pagina que você quiser utilizar o Código:

 


public int codUsuario
{
 	get
 	{
 	try
 	{
 	return Convert.ToInt32(Session["CodUsuario"]);
 	}
 	catch 
 	{
 	return 0;
 	}
 	}
 	set
 	{
 	Session["CodUsuario"] = value;
 	}
}

você pode utilizar o tipo de variavel que desejar no caso me parece que você utiliza String, logo:

 


public string codUsuario
{
 	get
 	{
 	try
 	{
 	return Session["CodUsuario"].ToString();
 	}
 	catch 
 	{
 	return string.Empyt;
 	}
 	}
 	set
 	{
 	Session["CodUsuario"] = value;
 	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.