الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

حساب عدد مرات تسجيل الدخول للعضو

بدأه *areej* في 24 أبريل 2011 · 29 رد · 2,376 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

انا سويت كود لتسجيل الدخول وتمااام بس ابغى اسوي كود يحسب عدد مرات الدخول الخاطئ

يعني اذا ادخل بياناته خطأ خمسه مرات مثلا يمنعه من الدخول فتره معينه

#2

استعملي في ذالك عداد counter

او استعيني بقاعدة البيانات

#3

في المرفقات

لا تنسونا من الدعاء

counter (2).rar

الله أكبر الله أكبر الله أكبر لآ إله إلا الله الله أكبر الله أكبر ولله الحمد

#4
KV2010 كتب:

في المرفقات

لا تنسونا من الدعاء

الله يجزاك خير

ماكسيموس كتب:

استعملي في ذالك عداد counter

او استعيني بقاعدة البيانات

الله يعطيك العافيه

#5

طيب اقدر اسويه من غير استخدام القريد فيو؟؟

#6

السلام عليكم ورحمه الله وبركاته

اختى ايش الي بتسويه من غير ال GridViiew؟؟

.:: Wish to become better and better ::.

#7
VB Helper كتب:

السلام عليكم ورحمه الله وبركاته

اختى ايش الي بتسويه من غير ال GridViiew؟؟

وعليكم السلام ورحمة الله وبركاته

ابغى اسوي حساب عدد مرات تسجيل الدخول للعضو ، والأخ (كي في) الله يعطيه العافيه ارسل الكود بس مستخدم قريد فيو ، ابغى طريقه اسهل

#8

السلام عليكم ورحمه الله وبركاته

اختي وليش هو مستخدم ال GridView هو المطلوب عد مرات الدخول ولا عرض بيانات؟؟

.:: Wish to become better and better ::.

#9

السلام عليكم ورحمه الله وبركاته

اخ KV2010 ليش عرضت البيانات في GridView؟؟؟

يمكنك تعديل الكود .. واثناء التسجيل نتأكد من المستخدم من قاعده البيانات .. جربي هذا


SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
SqlCommand cmd = new SqlCommand("Select Count(*) From Info Where Name=@Name And Password=@Password", conn);
cmd.Parameters.AddWithValue("Name", NameText.Text);
cmd.Parameters.AddWithValue("Password",PasswordText.Text);
conn.Open();
int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count > 0)
{
Response.Redirect("welcome.aspx");
}
else
{
int a;
a = System.Convert.ToInt32(Session["count"]);
a++;
Session["count"] = a.ToString();
Labelcount.Text = a.ToString();
if (Labelcount.Text == "5")
{
string ip = Request.UserHostAddress;
HttpCookie Cookie = new HttpCookie("myip", ip);
Cookie.Expires = System.DateTime.Now.AddMinutes(1);
Response.Cookies.Add(Cookie);
labelwrong.Visible = false;
}
else
{
labelwrong.Visible = true;
}
}
conn.Close();

طبعا عدلت على الكود السابق .. رغم ان الكود وان كان شغال لا يخلو من المشاكل التقنيه والفنيه حسب ما رأيته

.:: Wish to become better and better ::.

#10

هذا كود سويتو ويطلعلي خطا انو ماقفلت DataReader مو عارفه وين اقفلها افيدوني

 protected void btnEnter_Click(object sender, EventArgs e)
    {
        b.FullDataReader("SELECT Email,Password FROM Members WHERE Email='" + txtEmail2.Text.Trim() + "' AND Password='" + txtPassword2.Text.Trim() + "'");
        int count = Convert.ToInt32(b.SqlCommand.ExecuteScalar());
        if (count > 0)
        {
            if (b.SqlReader.Read())
            {
                Session["Member_Id"] = b.SqlReader[0].ToString();

                if (CheckBoxRemember_me.Checked)
                {
                    Response.Cookies["Member_Id"].Value = b.SqlReader[0].ToString();
                    Response.Cookies["Member_Id"].Expires = DateTime.Now.AddDays(3);
                }
                Response.AddHeader("REFRESH", "2;URL=" + ResolveUrl("Success_Login.aspx"));
                b.SqlReader.Close();
            }

        }
        else
        {

            Warning.Text = "خطأ في البريد الإلكتروني أو كلمة السر";
            int a;
            a = System.Convert.ToInt32(Session["count"]);
            a++;
            Session["count"] = a.ToString();
            Labelcount.Text = a.ToString();
            if (Labelcount.Text == "5")
            {
                string ip = Request.UserHostAddress;
                HttpCookie Cookie = new HttpCookie("myip", ip);
                Cookie.Expires = System.DateTime.Now.AddMinutes(1);
                Response.Cookies.Add(Cookie);
                labelwrong.Visible = false;
            }
            else
            {
                labelwrong.Visible = true;
            }


            b.SqlConnection.Close();



        }

    }
#11

السلام عليكم ورحمه الله وبركاته

اختي .. هل جربتي كودي السابق؟!! وبالنسبه لكودك ممكن اعرف ايش هو ال b و معرفة كود الداله FillDataReader

.:: Wish to become better and better ::.

#12
VB Helper كتب:

السلام عليكم ورحمه الله وبركاته

اختي .. هل جربتي كودي السابق؟!! وبالنسبه لكودك ممكن اعرف ايش هو ال b و معرفة كود الداله FillDataReader

انا اخذت من كودك اللي احتاجو .. لأنو فيه عندي ملف اسمو basic حاطه فيه كل دوالي اللي دايما استخدمها من ضمنها دالة FillDataReader .. يعني خلاص بس استدعيها هيا جاهزه فيها فتح الاتصال الخ

public void FullDataReader(string SqlSelect)
    {

        SqlConnection.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString2"].ConnectionString;
        SqlCommand = SqlConnection.CreateCommand();
        SqlCommand.CommandText = SqlSelect;
        SqlConnection.Open();
        SqlReader = SqlCommand.ExecuteReader();
    }

b عباره عن اوبجيكت من ملف basic عشان اقدر استخدم الدوال اللي جواها ...

هل في شي غلط في الكود؟

تم تعديل هذه المشاركة بواسطة *areej* في 30 أبريل 2011 في 00:55

#13

احد يفيدني

#14

السلام عليكم ورحمه الله وبركاته

اختي قومي بتجريب كودي السابق .. وارفقي ملفك للتعديل في طريقتك

.:: Wish to become better and better ::.

#15

ممكن اعرف ايش هوا Count

#16

السلام عليكم ورحمه الله وبركاته

اختي ال count ماهو الا متغير يحمل عدد المستخدمين الذين اسمهم بنفس اسم الدخول وكلمة المرور بنفس كلمة المرور المدخله .. طبعا اكيد بيكون 1 في حالة ان المستخدم موجود او 0 اذا كان غير موجود

.:: Wish to become better and better ::.

#17

مشكور اخوي

ممكن تشرحلي دا الكود ..الله يعطيك العافيه

if (Labelcount.Text == "5")
                {
                string ip = Request.UserHostAddress;
                HttpCookie Cookie = new HttpCookie("myip", ip);
                Cookie.Expires = System.DateTime.Now.AddMinutes(1);
                Response.Cookies.Add(Cookie);
                labelwrong.Visible = false;
                }
#18
اقتباس

public void FullDataReader(string SqlSelect)

{

SqlConnection.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString2"].ConnectionString;

SqlCommand = SqlConnection.CreateCommand();

SqlCommand.CommandText = SqlSelect;

SqlConnection.Open();

SqlReader = SqlCommand.ExecuteReader();

}

الاجراء يفتح الاتصال ولا يتم قفله وبالتالي سيتم تراكم Connection Pool وسيتوقف النظام في حال تم الاتصال بموقعك أكثر من خمسة مستخدمين !!!!

يجب ان يكون الاجراء كالتالي :

public SqlReader FullDataReader(string SqlSelect)
    {

using(SqlConnection.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString2"].ConnectionString)
{
        SqlCommand = SqlConnection.CreateCommand();
        SqlCommand.CommandText = SqlSelect;
        SqlConnection.Open();
       return SqlCommand.ExecuteReader();
}  
  }

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#19
هنا حددت أنا عدد مرات تسجيل الدخول الخطأ
if (Labelcount.Text == "5")
                {
ننشأ متحول نخزن فيه الآي بي للمستخدم
                string ip = Request.UserHostAddress;

ننشأ كوكيز ونخزن فيه الأي بي حتى نتحقق من أن المستخدم هو نفسه الذي قام بتسجيل الدخول الخطأ
                HttpCookie Cookie = new HttpCookie("myip", ip);

نحدد فترة إنتهاء مدة الكوكيز
                Cookie.Expires = System.DateTime.Now.AddMinutes(1);

إنشاء الكوكيز
                Response.Cookies.Add(Cookie);

إخفاء هذا الليبل
                labelwrong.Visible = false;
                }

الله أكبر الله أكبر الله أكبر لآ إله إلا الله الله أكبر الله أكبر ولله الحمد

#20
KV2010 كتب:

هنا حددت أنا عدد مرات تسجيل الدخول الخطأ
if (Labelcount.Text == "5")
                {
ننشأ متحول نخزن فيه الآي بي للمستخدم
                string ip = Request.UserHostAddress;

ننشأ كوكيز ونخزن فيه الأي بي حتى نتحقق من أن المستخدم هو نفسه الذي قام بتسجيل الدخول الخطأ
                HttpCookie Cookie = new HttpCookie("myip", ip);

نحدد فترة إنتهاء مدة الكوكيز
                Cookie.Expires = System.DateTime.Now.AddMinutes(1);

إنشاء الكوكيز
                Response.Cookies.Add(Cookie);

إخفاء هذا الليبل
                labelwrong.Visible = false;
                }

يعطيك ألف عافية ... الله يوفقك ويسهل جميع امورك

#21

اسمحولي بمداخلة بسيطة فقط :)

بما ان الفكرة هي اعطاء المستخدم مثلا خمس مرات سماح للخطأ في ادخال البيانات و من ثم نقوم بتعطيل حسابه لفترة معينة مثلا نقوم بالتالي:

أولا لا يجب أن نفكر أبدا في قواعد البيانات لحساب عدد المرات التي اخطأ بها المستخدم (يجب أن نفكر في الجهد و الوقت و الاداء الخاص بالطبيق و أيضا حجم قاعدة البيانات) و بكل ببساطة ما يلزم هو ان نقوم بتحويل المستخدم لنفس الصفحة و نضيف لل QueryString مفتاح جديد و ليكون اسمه BadLogin و في كل مرة نقرأ اخر عدد للمرات و نضيف اليه واحد حتى يصل للعدد خمسة

عندما يصل للعدد خمسة نقوم بعمل If Condition و نقول لها قومي بتحويل مثلا الحقل IsActiveUser الى False (يمكن إضافة وقت انتهاء تعطيل حساب المستخدم باضافة حقل اخر يقوم بحفظ وقت تعطيل الحساب) لكنك ستجبر نفسك على التالي أيضا:

في كل محاولة دخول، لو كان المستخدم يملك حساب معطل ستقوم بفحص وقت التعطيل و من ثم مقارنة هذا الوقت مضافا اليه عدد من الساعات او الايام مثلا مع الوقت الحالي و في حال انه تجاوز وقت الحرمان ستقوم بتعديل سجله في قاعدة البيانات ليصبح IsActiveUser قيمته True

هذه هي الطريقة المثلى و الأسرع و الأفضل من أجل هذا الدور

مع تحياتي

1

You can fly while you can touch the sky

#22

جزاكم الله خير على تعاونكم معايا والله يكثر من امثالكم

انا جربت الكود اشتغل تماام بس مايوقف العضو اللي يدخل اكثر من 5 مرات

يعني لمن ادخل الباسورد اكثر من 5 مرات خطأ وبعدين ادخل صح يدخلني عادي مايوقفني لمده دقيقه

ايش الحل؟

#23

لأنك قمتي بنسخ و لصق الكود و هذا غير صحيح .. حتى الأمثلة التي وضعها الاخوة كانت من أجل التوضيح لك و في هذه الحالة أنتي التي من يجب أن تقومي بصياغة ال Business Logic و تعديل الأكواد بما يتناسب مع متطلباتك

أنا أنصح بأن تقومي بكتابة الكود بنفسك و انتبهي للنقاط التي ذكرت لك سابقا (الموضوع جدا بسيط)

موفقة

1

You can fly while you can touch the sky

#24
محمد خليل أبو صلاح كتب:

لأنك قمتي بنسخ و لصق الكود و هذا غير صحيح .. حتى الأمثلة التي وضعها الاخوة كانت من أجل التوضيح لك و في هذه الحالة أنتي التي من يجب أن تقومي بصياغة ال Business Logic و تعديل الأكواد بما يتناسب مع متطلباتك

أنا أنصح بأن تقومي بكتابة الكود بنفسك و انتبهي للنقاط التي ذكرت لك سابقا (الموضوع جدا بسيط)

موفقة

يعطيك العافيه على اهتمامك ولكني لم انسخ الكود

كتبت كودي الخاص مع الاستعانه بالكود اللي اعطوني هوا الأخوان الله يجزاهم خير

#25

الله يعطيكم العاافية...أخذنا الفاائدة جميعا..............

اللهم أرزقني علما نافعا وعملا صالحا

مواضيع مشابهة