PDA

View Full Version : ایجاد loging مانند همین سایت



karimi84
سه شنبه 14 دی 1389, 14:19 عصر
البته گشتم ولی این موضوع رو که می خواستم پیدا نکردم
من در برنامه ام login تعریف کردم مانند همین سایت ولی مشکلم این است که بعد از وارد کردن می خواهیم در همان صفحه که login انجاام میشه قرار بگیرم نه به صفحه پیش فرض که در webconfig تعریف می شود
لطفا راهنمائید نمائید

یاسر مددیان
سه شنبه 14 دی 1389, 14:25 عصر
UrlReferrer رو بگیر و زمانی که redirect می کنی برو به این آدرس.

karimi84
سه شنبه 14 دی 1389, 15:11 عصر
مرسی از راهنمایتون
ولی به یک مشکل دیگه بر خوردم
با توجه به این که نام کاربر و کلمه عبور را درست وارد میکنم وبعد می بایست در lable مربوطه ذخیره شود ولی lable فوق خالی است اشکال کجاست و چی کار باید کنم

یاسر مددیان
سه شنبه 14 دی 1389, 15:31 عصر
درود بر شما
این دستورش : Request.UrlReferrer.ToString();
اول چک کن خالی نباشه بعد حالا هر طور که می خوای استفاده کن.

karimi84
سه شنبه 14 دی 1389, 15:45 عصر
دستور فوق مقدار دارد
دقیقا صفحه لاگین من مانند همین سایت است کاربر ممکنه است در صفحات مختلف بخواهد لاگین کند بعد از درست بودن می بایست در بالای صفحه مشخصات کاربر نمایش دهد(در یک لیبیل) وقتی که برنامه را تریس میکنم در صفحه مسترپیچ مقدار دارد ولی وقتی وارد صفحه مورد نظر می شود مقدار لیبیل فوق خالی نمایش میدهد

karimi84
سه شنبه 14 دی 1389, 15:57 عصر
کد دستورات به شرح ذیل می باشد لطفا راهنمائی نمائید
MasterPage:
protected void LoginButton_Click(object sender, EventArgs e)
{

if (Page.IsValid)

{
string connString = System.Configuration.ConfigurationManager.Connecti onStrings["HelpDeskConnectionString"].ConnectionString;

SqlConnection Conn = new SqlConnection(connString);
SqlCommand cmd = (SqlCommand)Conn.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "sp_select_log";
cmd.Parameters.Add("@User", txt_UserName.Text);
cmd.Parameters.Add("@password", txt_Password.Text);


SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
if (ds.Tables[0].Rows.Count > 0)
{
txtuser.Text = ds.Tables[0].Rows[0]["user"].ToString();
Page page = HttpContext.Current.CurrentHandler as Page;
Response.Redirect(string.Format(Request.UrlReferre r.LocalPath.ToString()));
}
else
{
txtuser.Text="";

}

txtuser.Text = txt_UserName.Text;
}
}


صفحه مربوطه به helpdesk
protected void Page_Load(object sender, EventArgs e)
{

if (!IsPostBack)

{

TextBox userloging = (TextBox)Master.FindControl("txtuser");

if (userloging.Text == "")
{
ImBSave.Enabled = false;
trRequest.Visible = false;
lblError.Visible = true;
lblError.Text = "برای ارسال اشکال می بایست به سیستم login ";

}
else
{
ImBSave.Enabled = true;
trRequest.Visible = true;
lblError.Visible = false;
}

HtmlTableRow tr = (HtmlTableRow)Master.FindControl("tr_login");
tr.Visible = true;
try
{
Session["CodSubject"] = Request.QueryString["CodSubject"].ToString();
Session["NameSubject"] = Request.QueryString["NameSubject"].ToString();

lbltitle.Text = Session["ProgramName"].ToString() + " ---> " + Session["NameSubject"].ToString();
RdBTypeHelpdesk.SelectedIndex = 1;
trRequest.Visible = true;
}
catch
{ }
}
}
مشکل من این است که userloging.Text در صفحه فوق مقدار خالی است

یاسر مددیان
سه شنبه 14 دی 1389, 16:03 عصر
شما اگه می خوای کاربر اگه تو همین صفحه باشه و همینجا وارد شه و بر گرده دوباره به همین صفحه می تونی یه session بسازی و آدرس همین صفحه رو توش بذاری تا بعد از لاگین برگرده به همین آدرس و session رو آزاد کنی. با دستور زیر :


Session.Add("url", Request.Url.AbsoluteUri);

karimi84
چهارشنبه 15 دی 1389, 10:13 صبح
ببخشید من مشکلم این است که وقتی کاربر لاگین می شود بعد از اینکه چک شد نام کاربر درست است lable موجود در مسترپیچ برابر با نام کاربر می شود ( چک کردن صحت نام کاربری در صفحه مسترپیچ انجام می شود ) . حتی کاربر از هر صفحه ای که لاگین می شود به همان صفحه نیز برمیگردد . حال مشکل این جاست که نام کاربر که در مسترپیچ مقدار گرفته است خالی نمایش داده می شود کد برنامه نیز در بالا گفته شده است لطفا راهنمائی نمائید که اشکال من کجاست