نمایش نتایج 1 تا 8 از 8

نام تاپیک: تغییر رمز عبور برای کاربر

  1. #1

    تغییر رمز عبور برای کاربر

    باسلام
    من یه فرم دارم که کاربر بتونه رمز عبور خودشو تغییر بده توی پایگاه داده ام هم جدولم با نامkarbarهست و دارای فیلدهایkidکهouto incrimentهستش وkname,kfamily,username,passwordمیباشداگ فیلدهایkid,username,passwordرو کلیداصلی بگیریم موقع اجرا هرچندتا کاربر که رمز عبورشون یکی باشه رو هم یوزر و هم پسوردشونو برابر با همون کاربری که وارد شدیم میکنه واگه username,passwordکلیداصلی کنیم پیغام میده که نباید مقدار تکراری وارد کنیم


    privatevoid btnChange_Click(object sender, EventArgs e)
    {
    SqlConnection connection = newSqlConnection("Data Source=.;Initial Catalog=taediepezeshki;Integrated Security=True");
    SqlCommand command = newSqlCommand();
    command.Connection = connection;

    bool isLogin = false;

    connection.Open();
    command.CommandText =("Select username,password From karbar ");

    SqlDataReader dataReader = command.ExecuteReader();
    string username = string.Empty;
    string password = string.Empty;
    while (dataReader.Read())
    {
    username = dataReader.GetString(0).ToString();
    password = dataReader.GetString(1).ToString();
    if (password.Trim() == txtPass.Text.Trim())
    {
    isLogin = true;
    break;
    }
    }
    connection.Close();
    if (isLogin == true && txtConPass.Text.Trim() == txtNewPass.Text.Trim()&& username==textBox1.Text)
    {
    command.Connection = connection;
    connection.Open();
    command = newSqlCommand("Update karbar SET username=N'"+username.Trim()+"' , [password]=N'"+txtNewPass.Text.Trim()+"' Where [password]=N'"+txtPass.Text+"'");
    command.Connection = connection;
    command.ExecuteNonQuery();
    MessageBox.Show("تغییرات", "رمزتغییریافت ", MessageBoxButtons.OK);
    connection.Close();
    this.Close();
    }
    if (isLogin == false)
    MessageBox.Show("خطا","رمز عبورصحیح نمیباشد ", MessageBoxButtons.OK, MessageBoxIcon.Error);
    if (txtConPass.Text.Trim() != txtNewPass.Text.Trim())
    {
    MessageBox.Show("خطا","تکرار رمزعبورصحیح نمیباشد ", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
    }





    از مدیرسایت خواهش میکنم سوال منو پاک نکنه هروقت سوالی میپرسم ایشون لطف میکنن سوالو قبول نمیکنن
    }

  2. #2
    کاربر دائمی آواتار spring69
    تاریخ عضویت
    مهر 1388
    محل زندگی
    تهران
    سن
    33
    پست
    321

    نقل قول: تغییر رمز عبور برای کاربر

    سلام.
    1- قاعدتا نبايد يوزرنيم تكراري باشه. (ميتونه كليد اصلي باشه)
    2- توي شرطت (Where) چرا پسورد رو چك ميكني؟(بايد يوزرنيم رو چك كني.)
    3- چرا يوزرنيم رو توي دستور آپديت ست ميكني. مگه ميخواي كاربر بتونه يوزرنيم رو هم تغيير بده؟؟!!!

  3. #3
    کاربر دائمی آواتار sds1920
    تاریخ عضویت
    تیر 1388
    محل زندگی
    اصفهان
    سن
    34
    پست
    483

    نقل قول: تغییر رمز عبور برای کاربر

    شما بهتره همون username رو به عنوان كليد اصلي تعريف كني و قبل از ويرايش يا اضافه كردن كاربر يك Query از ديتابيس بگيري.مثل زير :

    .
    .
    .
    Adapter.SelectCommand.CommadText="SELECT COUNT(username) WHERE username='sds1920'";
    int Count=(int)Adapter.SelectCommand.ExecuteScaler();
    if(Count<1)
    }
    .
    .
    .
    {
    آخرین ویرایش به وسیله sds1920 : دوشنبه 10 خرداد 1389 در 18:46 عصر

  4. #4
    مدیر بخش آواتار mmd2009
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    پست
    2,393

    نقل قول: تغییر رمز عبور برای کاربر

    این کد پایین : طبق چیزی که دوستمون هم گفتن ایراد نداره ولی بهترش اینه که فقط اجازه بدی پسوورد عوض بشه و اون رو هم کلید اصلی نکنی و فقط مقدار یوزر نیم رو کلید اصلی بکنی


    command = newSqlCommand("Update karbar SET username=N'"+username.Trim()+"' , [password]=N'"+txtNewPass.Text.Trim()+"' Where [password]=N'"+txtPass.Text+"'");


    کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»


  5. #5
    کاربر دائمی آواتار sds1920
    تاریخ عضویت
    تیر 1388
    محل زندگی
    اصفهان
    سن
    34
    پست
    483

    نقل قول: تغییر رمز عبور برای کاربر

    اينم نظريه.ولي من فكر مي كنم بايد به كاربر آزادي عمل داده بشه.

  6. #6
    مدیر بخش آواتار mmd2009
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    پست
    2,393

    نقل قول: تغییر رمز عبور برای کاربر

    اخه میدونی دوست عزیز اگر به کاربر آزادی عمل داده بشه و بیاد مقدار یوزر نیم رو پسوورد یکی دیگه رو بده به خودش و هر دو کاربر با یک یوزر و پسس وارد برنامه بشن یک فاجعه رخ میده تو برنامه نویسی

    البته نظر شخصی منه

    کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»


  7. #7
    کاربر دائمی آواتار sds1920
    تاریخ عضویت
    تیر 1388
    محل زندگی
    اصفهان
    سن
    34
    پست
    483

    نقل قول: تغییر رمز عبور برای کاربر

    شما درست مي گي.ولي مثل اينكه جواب منو خوب نخونده بودي.
    من گفتم فيلد username رو كليد اصلي بگيره و قبل از add يا edit يك query از ديتابيس بگيره تا مطمئن بشه كه اين usrename قبلا استفاده نشده باشه.در اينصورت تداخلي رو كه شما مي گي به وجود نمياد.

  8. #8
    کاربر دائمی
    تاریخ عضویت
    آبان 1384
    محل زندگی
    كاشان
    سن
    35
    پست
    315

    نقل قول: تغییر رمز عبور برای کاربر

    منم دقیقا با sds1920 موافقم. یعنی شما اگر فقط usernameرو به عنوان کلید در نظر بگیری و قبل از ثبت هرگونه تغییری (از جمله کاربرجدید) در سیستم بیایید چک کنید که آیا این username فعلی در سیستم وجود دارد یا نه که اگر وجود داشت اجازه ی ثبت اون username رو به کاربر نمی دهید.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •