PDA

View Full Version : مشکل در sassion



irrazor
شنبه 09 اردیبهشت 1396, 16:01 عصر
با عرض سلام وخسته نباشید
دوستان گرامی ی فایل تست میزارم از مشکلم ببینید میفهمید مشکل کجاست!
فایل در ضمیمه قرار دادم.کسانی که بلدن لطفآ قسمتی که باید اصلاح کنمو بگید به همراه کد ممنون میشم.

mehrzad_ali
سه شنبه 12 اردیبهشت 1396, 12:48 عصر
start رو tostring کن

irrazor
سه شنبه 12 اردیبهشت 1396, 16:59 عصر
دوسته من کد کپچه درست میشه مشکلی نیست.مشکل اینه که کد رو داخل لیبل میندازم بعد میگم اگه نکست باکس کپچه برابر بود با تکست لیبل(که کپچه توشه)لینک کن.متاسفانه هی میگه برابر نیست.در حالی که برابره!

حتی تو لیبل دونه دونه مراحلو نشون میدم که شاید کد تغییز کنه وله دقیق درسته.وقتی هم تکست باکس رو برابر لیبل که کپچه توشه میکنم درست میزنه!

irrazor
یک شنبه 24 اردیبهشت 1396, 18:49 عصر
دوستان لطفآ کمک کنید.

mirshekar
دوشنبه 25 اردیبهشت 1396, 12:05 عصر
سلام روز شما بخیر

در هر مرحله ابتدا page_load شما اجرا می شود که مقدار label را تغییر می دهد. این رو می تونید با استفاده از Break Point تشخیص بدهید.

کل کد موجود در Page Load رو به صورت زیر تغییر دهید


if(!IsPostBack)
{
string text = "123456789";
string code = "";
Random rnd = new Random();
for (int i = 1; i <= 4; i++)
{
int start = rnd.Next(0, text.Length);
string one_char = text.Substring(start, 1);
code += one_char;

}

Session.Add("cod", code);
Session["code"] = code;
Label1.Text = code;
}


امیدوارم کمک کرده باشم

irrazor
دوشنبه 25 اردیبهشت 1396, 13:20 عصر
ممنون بابت راهنمایی

دوسته من من داخل صفحه از رفریشر کپچر استفاده میکنم.وقتی از پست بک استفاده کنی دیگه کار نمیکنه!

کد کامل صفحه:


protected void Page_Load(object sender, EventArgs e) {
Session.Clear();
if (!Page.IsPostBack)
{
string text = "123456789";
string code = "";
Random rnd = new Random();
for (int i = 1; i <= 4; i++)
{
int start = rnd.Next(0, text.Length);
string one_char = text.Substring(start, 1);
code += one_char;
}
Session.Add("code", code);
Label4.Text = code;
}
}




protected void Button1_Click1(object sender, EventArgs e)
{
string code1 = Session["code"] as string;



if (txtusername.Text == "")
{
Label1.Visible = true;
}
else { Label1.Visible = false; }
if (txtpassword.Text == "")
{
Label2.Visible = true;
}
else { Label2.Visible = false; }
if (txtcaptcha.Text == "")
{
Label3.Visible = true;
}
else { Label3.Visible = false; }


if (txtusername.Text != "" & txtpassword.Text != "" & txtcaptcha.Text != "")
{
if (txtcaptcha.Text == Label4.Text)
{
// SqlDataAdapter da = new SqlDataAdapter("select * from [Admin] where [نام کاربری]='" + txtusername.Text + "'AND [رمز عبور]='" + txtpassword.Text + "'", akoconnection);
// da.Fill(akodt);
// if (akodt.Rows.Count > 0)
//{
Session.Add("userA", txtusername.Text);
Response.Redirect("/Nad/PageA/Index.aspx");
//}
}
else
{
Label1.Text = "!عدد داخل کادر را اشتباه وارد کرده اید";
Label1.Visible = true;
}



}


}


protected void ImageButton1_Click1(object sender, ImageClickEventArgs e)
{
Random generator = new Random();
string s = "SecurityCide.aspx?" + generator.Next();
Image2.ImageUrl = s;
generator.Next();
}
}

irrazor
سه شنبه 26 اردیبهشت 1396, 10:33 صبح
مشکلم حل شد.

با اضافه کردن تکه کد زیر به دکمه رفرش کپچر:

protected void ImageButton1_Click1(object sender, ImageClickEventArgs e) {
string text = "123456789";
string code = "";
Random rnd = new Random();
for (int i = 1; i <= 4; i++)
{
int start = rnd.Next(0, text.Length);
string one_char = text.Substring(start, 1);
code += one_char;
}
Session.Add("code",code);
Label4.Text = code;
Random generator = new Random();
string s = "SecurityCide.aspx?" + generator.Next();
Image2.ImageUrl = s;
generator.Next();
}

واقعا ممنونم خیلی کمک کردید.