PDA

View Full Version : سوال: بدست آوردن ID شخص login کرده ....



omid6630
سه شنبه 19 اردیبهشت 1391, 20:34 عصر
به نام خدا و سلام و خسته نباشید .

فرآیند login کاربر بوسیله Session نوشته شده .
میخوام ID کاربری که وارد شده و login کرده را بدست بیارم .

bahareh1368
سه شنبه 19 اردیبهشت 1391, 20:56 عصر
به نام خدا و سلام و خسته نباشید .

فرآیند login کاربر بوسیله Session نوشته شده .
میخوام ID کاربری که وارد شده و login کرده را بدست بیارم .


int UserID
= (from u in datacontext.Users where u.Username = HttpContext.Current.User.Identity.Name select u.UserID).firstOrDefault();

hamed_hossani
سه شنبه 19 اردیبهشت 1391, 21:54 عصر
string Username=session["userName"].tostring();

string query="select user.id from user where user.userName={0}";
query=string.format(query, Username);

omid6630
سه شنبه 19 اردیبهشت 1391, 22:40 عصر
میشه یکم واضح تر توضیح بدین ؟

jaykob
سه شنبه 19 اردیبهشت 1391, 23:34 عصر
میشه یکم واضح تر توضیح بدین ؟

سلام

شما زمانی که از Session استفاده می کنید به شکل زیر می تونید id کاربر رو هم داخل نشست داشته باشید :

Session.Add("MySession", q.id.ToString());

البته اون q همان کوئری است که در فرایند لاگین زده ایم .

و در نهایت در هر صفحه ی دیگری شما احتیاج به id کاربر داشته باشید می تونید به شکل زیر عمل کنید :


string mysession=session["MySession"].tostring();
int uid=int.parse(mysession);


موفق باشید

omid6630
سه شنبه 26 اردیبهشت 1391, 21:37 عصر
Session.Add("MySession", q.id.ToString());

البته اون q همان کوئری است که در فرایند لاگین زده ایم .

و در نهایت در هر صفحه ی دیگری شما احتیاج به id کاربر داشته باشید می تونید به شکل زیر عمل کنید :


string mysession=session["MySession"].tostring();
int uid=int.parse(mysession);


موفق باشید


سلام
میشه q.id رو واضح تر توضیح بدین . چطوری این کوئری رو تنظیم میکنیم .

jaykob
سه شنبه 26 اردیبهشت 1391, 22:21 عصر
سلام
میشه q.id رو واضح تر توضیح بدین . چطوری این کوئری رو تنظیم میکنیم .

سلام

q همون کوئری هست که شما واسه صحت نام کاربری و رمز عبور زده اید به شکل زیر :


var q=(from item in db.tbl_users where
item.uname==txtUserName.Text
&&
item.pass== hash
select item).SingleOrDefault();

omid6630
یک شنبه 07 خرداد 1391, 18:28 عصر
با سلام

ببینین من این کار رو کردم و خطا میده . میشه یک راهنمایی کنید .


protected void btn_SavePost_Click(object sender, EventArgs e)
{
int uID = Convert.ToInt32(ViewState["ID"]);
SqlConnection cnn = new SqlConnection(SqlHelper2.strConnectionString);
SqlCommand postcmd = new SqlCommand("insert into tbl_post (Post_Text,Post_header,Post_UserID)values(@Post_Te xt,@Post_header,@Post_UserID)", cnn);
postcmd.Parameters.AddWithValue("@Post_Text", FCKeditor1.Value);
postcmd.Parameters.AddWithValue("@Post_header", txt_postHeader.Text);
postcmd.Parameters.AddWithValue("@Post_userID", uID);
cnn.Open();
postcmd.ExecuteNonQuery();
cnn.Close();
}



protected void btnLogin1_Click(object sender, EventArgs e)
{
SqlConnection cnn = new SqlConnection(SqlHelper2.strConnectionString);
SqlCommand cmd = new SqlCommand("select UserID,UserName,Pass1 from Account", cnn);
cnn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
while(sdr.Read())
{
if (txtuser1.Text == sdr["UserName"].ToString() && txtPass1.Text == sdr["Pass1"].ToString())
{
ViewState["ID"] = sdr["userID"].ToString();
Session.Add("Login", txtuser1.Text);
Response.Redirect("");
}
}
Response.Redirect("");
// lblerror.Visible = true;
cnn.Close();
sdr.Close();
}





Server Error in '/ Application.

The INSERT statement conflicted with the FOREIGN KEY constraint "FK_tbl_Post_Account". The conflict occurred in database "", table "dbo.Account", column 'UserID'.
The statement has been terminated.

omid6630
یک شنبه 07 خرداد 1391, 20:11 عصر
یکی کمک کنه !!!!

omid6630
دوشنبه 08 خرداد 1391, 13:17 عصر
این کار رو می خوام با session ها انجام بدم .
وقتی کاربر لاگین میکنه . id ش رو تو یک سشن حفظ کنم .

این رو میشه کدش رو دوستان زحمت بکشن .

fakhravari
دوشنبه 08 خرداد 1391, 14:01 عصر
Session.Add("u", txtUserName.Text);
Response.Redirect("admin/admin.aspx");
protected void Page_Load(object sender, EventArgs e)
{
if (Session["u"] != null)
{

}
else
{
Response.Redirect("../Default.aspx");
}


}

omid6630
دوشنبه 08 خرداد 1391, 14:44 عصر
Session.Add("u", txtUserName.Text);
Response.Redirect("admin/admin.aspx");
protected void Page_Load(object sender, EventArgs e)
{
if (Session["u"] != null)
{

}
else
{
Response.Redirect("../Default.aspx");
}


}


من ID کاربر رو لازم دارم .! ! !
تا اینجا خودم رفتم . میخوام وقتی کاربر میخواد یک مطلبی رو در سایت بذاره - تو جدول پست ها تو دیتابیس - بتونم بگم این پست مال کی بوده !
یعنی همراه با ذخیره پست - id کاربر هم ذخیره بشه .

fakhravari
دوشنبه 08 خرداد 1391, 14:49 عصر
خوب همون ID بسه دیگه .
در جدول پست یه فیلد بزارید که ID کاربر بگیره.
قبلشم چک کنید ID خالی نباشه.

omid6630
شنبه 13 خرداد 1391, 19:36 عصر
خوب همون ID بسه دیگه .
در جدول پست یه فیلد بزارید که ID کاربر بگیره.
قبلشم چک کنید ID خالی نباشه.


من این کار رو کردم - الان میخوام موقع زخیره شدن پست یک شرط where هم بذارم که در فلان user این پست رو گذاشته .

الان من یک متغییری میخوام که مقدار id توی اون باشه . و من بتونم اون رو تو جدول پست هام insert کنم . همین . با این تفاسیر و کد هایی که من توستم - چکار باید کرد .


protected void btnLogin1_Click(object sender, EventArgs e)
{
SqlConnection cnn = new SqlConnection(SqlHelper2.strConnectionString);
SqlCommand cmd = new SqlCommand("select UserID,UserName,Pass1 from Account", cnn);
cnn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
while(sdr.Read())
{
if (txtuser1.Text == sdr["UserName"].ToString() && txtPass1.Text == sdr["Pass1"].ToString())
{

Session.Add("Login", txtuser1.Text);
Response.Redirect("Admin/Heyat-Post.aspx");
}
}
Response.Redirect("YourPen.aspx");
cnn.Close();
sdr.Close();
}



protected void Page_Load(object sender, EventArgs e)
{
if (Session["Login"] == null)
Response.Redirect("../Post-Login.aspx");
else
{

// Session.Timeout = 10;
//Label1.Text = Session.Keys.ToString();
}
}



protected void btn_SavePost_Click(object sender, EventArgs e)
{

SqlConnection cnn = new SqlConnection(SqlHelper2.strConnectionString);
SqlCommand postcmd = new SqlCommand("insert into tbl_post (Post_Text,Post_header,Post_UserID)values(@Post_Te xt,@Post_header,@Post_UserID)", cnn);
postcmd.Parameters.AddWithValue("@Post_Text", FCKeditor1.Value);
postcmd.Parameters.AddWithValue("@Post_header", txt_postHeader.Text);
cnn.Open();
postcmd.ExecuteNonQuery();
cnn.Close();
}

fakhravari
شنبه 13 خرداد 1391, 20:18 عصر
خوب مقدار text در
Session بگیرید در SavePost دیگه؟؟
مشکل کجان؟

omid6630
شنبه 13 خرداد 1391, 20:38 عصر
مشکل من اینه که توی session ام که با نام Login است - نام کاربری و رمز عبور رو دارم !
من چطوری میتونم id کاربر وارد شده رو از توی این session در بیارم و ازش استفاده کنم .

omid6630
شنبه 13 خرداد 1391, 23:10 عصر
پیداش کردم . به این صورت .


protected void btnLogin1_Click(object sender, EventArgs e)
{
SqlConnection cnn = new SqlConnection(SqlHelper2.strConnectionString);
SqlCommand cmd = new SqlCommand("select UserID,UserName,Pass1 from Account", cnn);
cnn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
while(sdr.Read())
{
if (txtuser1.Text == sdr["UserName"].ToString() && txtPass1.Text == sdr["Pass1"].ToString())
{
//ViewState["ID"] = sdr["UserID"].ToString();
Session.Add("userid", sdr["UserID"].ToString());
Session.Add("Login", txtuser1.Text);
Response.Redirect("Admin/Insert-Post.aspx");
}
}
Response.Redirect("YourPen.aspx");
cnn.Close();
sdr.Close();
}


بعد از مر حله ی اعتبار سنجی - موقع ذخیره یک رکورد به این صورت عمل میکنیم .


protected void btn_SavePost_Click(object sender, EventArgs e)
{
int UID = Convert.ToInt32(Session["userid"].ToString());
SqlConnection cnn = new SqlConnection(SqlHelper2.strConnectionString);
SqlCommand postcmd = new SqlCommand("insert into tbl_post (Post_Text,Post_header,Post_UserID)values(@Post_Te xt,@Post_header,@Post_UserID)", cnn);
postcmd.Parameters.AddWithValue("@Post_Text", FCKeditor1.Value);
postcmd.Parameters.AddWithValue("@Post_header", txt_postHeader.Text);
postcmd.Parameters.AddWithValue("@Post_UserID",UID);
cnn.Open();
postcmd.ExecuteNonQuery();
cnn.Close();
}


از همه ی دوستان متشکرم . بالاخص برادر
fakhravari (http://barnamenevis.org/member.php?128926-fakhravari)
http://barnamenevis.org/images/statusicon/user-online.png