2011-05-12 26 views
0

我想製作一個網站。如何在使用C#編寫的網站中使用會話/ cookie(Visual Studio 2010)

我登錄後,有一個選項可以讓我「編輯用戶信息」。在我的EditUserInfo.aspx中,用戶可以更改他們的密碼和出生日期。但問題是,在他們輸入密碼和DOB後,如何在數據庫中找到他們的用戶名並更新密碼和DOB?

這裏是我的editUserInfo功能

public static bool EditUserInfo(string strCookieName, string password) 
    { 
     string query = "UPDATE usertb SET password = '" + password + "' WHERE username = '" + Name + "'"; 
    accessDB dbaccess = new accessDB(); 
    return dbaccess.saveData(query); 

    } 

我嘗試使用cookie中的微軟指南下面的代碼,但它無法正常工作。並且我也嘗試使用Response.Redirect(EditUserInfo.aspx?Name = Username)

其中用戶名來自文本框(txtUsername.text),但似乎也不起作用。

所以我想知道是否有人能夠給我提供正確的語法或任何想法使它工作?非常感謝

+0

請不要使用字符串連接創建SQL查詢以避免SQL注入 - http://bobby-tables.com/ – 2011-05-12 19:42:40

回答

1

當用戶得到該表單後,是否爲他們設置了會話?

您可以使用會話這樣的:

string id = Session["mysession"].ToString(); //GET 
Session["mysession"] = "Hello World"; //SET 

餅乾:

HttpContext.Current.Request.Cookies["RememberLoginName"].Value //GET 
HttpContext.Current.Response.Cookies.Add(new HttpCookie("RememberLoginName", ValueforCookie)); //SET` 

如果用戶得到了他們應該已經登錄編輯表單。所以你可以將他們的userid存儲在一個會話變量中。然後,當連接到數據庫時,在會話變量上執行TryParse以更新正確的記錄。

相關問題