Advertisement

[x]
Attachment Details

problem with variables - not getting value consistently

[x]
The Solution Rating System

With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.

  • The Grade of the Solution
  • The Zone Rank of the Expert Providing the Solution
  • The Number of Author and Expert Comments
  • The Number of Experts Contributing
  • The Feedback of the Community

Your Input Matters
Because of the way the system is set up, the most important variable in this equation is you. As a member of Experts Exchange, you are able to cast your vote on the quality of the solutions in regard to how complete, accurate, helpful and easy to understand each solution is. When you provide your feedback, each rating is adjusted accordingly. So, if you see a solution that has a poor rating that you think is a good solution, let us know by rating it. As you do, the rating will be adjusted and will become more accurate for other members of our site.

If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support.

Thank you!

9.3
I am not sure why my variable is not getting the right value consistently.  It seems it is often failing to get a value or gets a previous value.  I am testing a login page; on login the authentication cookie is set, and I set a session variable with the user's id.  This part is fine, and the problem is not with the session variable per se.

When I go to the password protected page after logging in, and retrieve the session variable, and set it to a variable in the page, this is where the problem is.  After logging out to test a different login, it retrieves the previous login's id that was stored in the page variable.  Even though the session variable has the new value.  Even more odd, if I check the variable's value during Page_Load it is correct, but when I call it in a later function for binding data, it is different.  

I just need to know why.

Here is the code.  The variable in question is called str_user_id.  To help debug this, I created 2 labels, and set the values equal to str_user_id, once during page load and once during the bind_data function.

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
static string strConnection;
string strError;
int iRecordID;
SqlConnection objConn;
SqlDataReader objRdr;
SqlCommand objCmd;
static string str_user_id;
		
private void Page_Load (object sender, System.EventArgs e){
	if (!IsPostBack){
		bind_data();
		//get user_id from session
		if (Session["user_id"] == null || Session["user_id"] == "") {
			Response.Redirect("~/sunset gamers/login.aspx?RETURNURL=~/sunset gamers/portal/user_data/user_profile.aspx");
		}else{
			str_user_id = Session["user_id"].ToString();
			lbl_status2.Text = "Variable Value set at page load:" + str_user_id;
		}			
	}		
	strConnection = ConfigurationManager.ConnectionStrings["sunset_gamers"].ConnectionString;
}	
void bind_data(){
	objConn = null;		
	try {
		lbl_status.Text = "Variable Value set during bind:" + str_user_id;
		strConnection = ConfigurationManager.ConnectionStrings["sunset_gamers"].ConnectionString;
		objConn = new SqlConnection(strConnection);			
		SqlCommand objCmd;
		objConn.Open();
		objCmd = new SqlCommand("SELECT * FROM sg_users WHERE ID='" + str_user_id + "'", objConn);	
		objRdr = objCmd.ExecuteReader();
		while (objRdr.Read()){		
			if ( objRdr["username"]!= DBNull.Value){	
				lbl_username.Text = (string) objRdr["username"];
			}		
			if ( objRdr["web_address"]!= DBNull.Value){	
				txt_web_address.Text = (string) objRdr["web_address"];
			}
			if ( objRdr["city"]!= DBNull.Value){
				txt_city.Text = (string) objRdr["city"];
			}
			if ( objRdr["state"]!= DBNull.Value){
				ddl_state.SelectedIndex = ddl_state.Items.IndexOf(ddl_state.Items.FindByValue(objRdr["state"].ToString()));
			}
			if ( objRdr["post_notice"]!= DBNull.Value){
				ddl_notice.SelectedIndex = ddl_notice.Items.IndexOf(ddl_notice.Items.FindByValue(objRdr["post_notice"].ToString()));
			}			
			if ( objRdr["zip"]!= DBNull.Value){
				txt_zip.Text = (string) objRdr["zip"];
			}	
			if ( objRdr["quick_blog"]!= DBNull.Value){
				txt_blog.Text = (string) objRdr["quick_blog"];
			}	
			if ( objRdr["email_private"]!= DBNull.Value){
				chk_email_private.Checked = (bool) objRdr["email_private"];
			}	
			if ( objRdr["friend_notice"]!= DBNull.Value){
				chk_friend_notice.Checked = (bool) objRdr["friend_notice"];
			}	
			if ( objRdr["stranger_notice"]!= DBNull.Value){
				chk_stranger_notice.Checked = (bool) objRdr["stranger_notice"];
			}
		}			
		objConn.Close();
		objRdr.Close();	 
	}
	catch(Exception ex){
		strError = "error";
		lbl_status.Text = "An error occurred:<br>" + ex.ToString();
	}
	finally {
		if(objRdr != null) objRdr.Close();
		if (objConn != null) objConn.Close();
	}
}
Related Solutions
Related Solutions
 
Loading Advertisement...
 
Accepted Solution by gardavis:

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
Loading Advertisement...
20080924-EE-VQP-41 / EE_QW_2_20070628