2014-01-07 5 views
-2
protected void Page_Load(object sender, EventArgs e) 
    { 
     lb_msg2.Text = "Hello " + Session["userid"].ToString() + "!"; 
    } 
    protected void Button1_Click(object sender, EventArgs e) 
    { 

     SqlConnection con = new SqlConnection(); 
     con.ConnectionString = ConfigurationManager.ConnectionStrings["ProfileCS"].ConnectionString; 

     string sql = "Select password from Profile where userid = '" + Session["userid"] + "'"; 
     SqlCommand cmd = new SqlCommand(); 
     SqlDataReader dr; // to hold reference of datareader returned 

     //prepare a place - datatable to hold the data 
     DataTable dt = new DataTable(); 

     //setting up command 
     cmd.CommandText = sql; 
     cmd.Connection = con; 

     //connection and execute command 
     con.Open(); 
     dr = cmd.ExecuteReader(); 

     dt.Load(dr); // copy data from datareader to datatable 

     string pwdcheck; 
     pwdcheck = dt.Rows[0]["password"].ToString(); 

     if (tb_verify.Text.Equals(pwdcheck)) 
     { 
      string password = tb_pwd.Text; 

      sql = "Update Profile set password ='" + password + "'"; 
      sql = sql + "where userid = '" + Session["userid"] + "'"; 

      cmd.CommandText = sql; 
      cmd.Connection = con; 

      try 
      { 
       cmd.ExecuteNonQuery(); 
       lb_msg.Text = "Password changed succesfully"; 
      } 
      catch (Exception ex) 
      { 
       lb_msg.Text = "Problems encountered " + ex.Message; 
      } 


      finally 
      { 
       con.Close(); 
       con.Dispose(); 
       cmd.Dispose(); 
      } 
     } 
     else 
      lb_msg.Text = "Old password Incorrect"; 
    } 

    protected void lblClick(object sender, EventArgs e) 
    { 
     FormsAuthentication.SignOut(); 
     Session.Clear(); // This may not be needed -- but can't hurt 
     Session.Abandon(); 
     FormsAuthentication.RedirectToLoginPage(); 
    } 
} 

lb_msg2.Text = "Hello " + Session["userid"].ToString() + "!";объекта не задана ссылка на экземпляр объекта для ASP.NET

есть ошибка в строке выше Object reference not set to an instance of an object функция изменения пароля работал раньше.

+3

У вас есть инъекции SQL уязвимость. – SLaks

+6

** Не храните пароли в обычном тексте! ** – SLaks

+0

Вы уверены, что ваша служба ["userid"] 'not'NULL'? –

ответ

1

В вашем случае Session["userid"] должен быть NULL, справиться с этим

+0

yo Что это значит, оставьте его как null в моей базе данных – sherrez

+0

ваш сеанс должен быть истек, поэтому значение Session ["userid"] равно null, вот почему вы получаете ошибку на Session ["userid"]. ToString() – Cris

Смежные вопросы