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
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.