PDA

View Full Version : سوال: به جای استفاده از کپچا سوال بپرسیم



masaioki.ono
دوشنبه 29 آبان 1391, 03:50 صبح
همه میدونید که استفاده از کپچا با مشکلات ریز و درشتی همراهه
به جای استفاده از کپچا بپرسیم جمع یک با یک چند میشود
یا پایتخت ایرا ن چیست ؟
اگر درست بود
نظر کاربر ثبت گردد در غیر این صورت یک پیغام خطا نمایش دهد
اگر دوستان لطف کنند و یک سمپل براش بزارن عالی میشه

ali9698
دوشنبه 29 آبان 1391, 13:49 عصر
یه متغیر public و static به اسم ans از نوع int تعریف کن
بعد توی page_load اینو بنویس
Random r = new Random();
int num1 = r.Next(1, 10);
int num2 = r.Next(1, 10);
if (r.Next(1, 3) == 1)
{
lbl_question.Text = num1.ToString() + " + " + num2.ToString() + " =?";
ans = num1 + num2;
}
else
{
lbl_question.Text = num1.ToString() + " - " + num2.ToString() + " =?";
ans = num1 - num2;
}
توی click دکمه ثبت هم اینو بنویس
if (Convert.ToInt32(txt_answer.Text) != ans)
lbl_status.Text = "سوال امنیتی را به درستی پاسخ دهید";
else
//دستورات ثبت نظر رو اینجا بنویس

AmirGhasemi
دوشنبه 29 آبان 1391, 14:36 عصر
سلام
فكر كنم منظور اين دوستمون نحوه توليد و بكارگيري تصادفي اين سوالات است
خب دوست عزيز شما يه تعداد سوال مثلا 100 تا سوال را خودت در يك ديتابيس بنويس و براي هر كادم يك ID اختصاص بده
بعد توي هر صفجه كه مي خواد لود بشه توي Page Load اون يك عدد رندوم كن و اون عدد رندوم شده را به جاي ID به اون جدول سوالاتت پاس كن و سوالت را فراخواني كن
جواب را هم در Session بگذار
اين به نظرم راهي بود كه رسيد

qadireh
یک شنبه 06 اسفند 1391, 10:46 صبح
سلام، من اینکارو کردم اما هر سری که دکمه ثبت می زنم یک سوال دیگرو لود میکنه
چرا

vistacali
یک شنبه 06 اسفند 1391, 12:50 عصر
سلام، من اینکارو کردم اما هر سری که دکمه ثبت می زنم یک سوال دیگرو لود میکنه
چرا


کدوم کارو کردی و نشد ؟

Alfred188
یک شنبه 06 اسفند 1391, 14:19 عصر
درود، اون قسمتی که دارید سوال رو لود می کنید از این استفاده کنید تا با postback شدن صفحه سوال دیگه ای لود نشه

if (!IsPostBack)
{
//کد لود سوال
}