View Full Version : شناسایی کلمه عبور و رمز ورود
  
farzane_fn
یک شنبه 12 مهر 1388, 20:17 عصر
دوستان عزیزم سلام.من توی برنامه خودم یه بانک دارم به نام password که از دو تا فیلد تشکیل شده یکی فیلد username که نام کاربری رو ذخیره می کنه و دیگری فیلد password که رمز ورود رو ذخیره می کنه. توی برنامه قرار است من این بانک رو چک کنم و اگر نام کاربری درست وارد شده بود و سپس ببینم رمز ورودی که مربوط به این نام کاربری است هم درست وارد شده بود این نام کاربری و رمز ورود رو حذف کنم. - من از اس کیو ال سرور 2000 استفاده می کنم- اگه ممکنه کدی که این کار رو انجام می ده برام بنویسید. در ضمن با عنصرهای adoconnection و adoquery هم کار می کنم. ممنون
MOJTABAATEFEH
یک شنبه 12 مهر 1388, 23:09 عصر
دوست عزيز اگر درست متوجه شده باشم شما بايد دوتا دستور را اجرا كني :
Adoquery1.SQL.Clear;
Adoquery1.SQL.Text:='select count(*) as M from password where username='+quotedstr(edit1.Text)+' and password='+quotedstr(edit2.Text);
adoquery1.Open;
 if adoquery1.FieldByName('m').AsInteger>0 then
  begin
   Adoquery1.SQL.Clear;
   Adoquery1.SQL.Text:='delete from password where username='+quotedstr(edit1.Text)+' and password='+quotedstr(edit2.Text);
   adoquery1.ExecSQL;
  end
   else
    begin
     showmessage('نام كاربري يا رمز ورود نادرست است');
    end;
كد دلفي
http://www.mojtabaie.persianblog.ir (http://www.mojtabaie.persianblog.ir/)
موفق باشي
amir_ir
دوشنبه 13 مهر 1388, 22:36 عصر
سلام فرزانه جان
من با این کد به صورت کلی چک می کنم که username و pass درست هستند یا نه . اول username رو چک نمی کنم که آیا وجود داره یا خیر . امیدوارم مورد استفاده قرار بگیره . حتما میخوای اول چک کنیusername وجود داره یا نه بعد pass رو ؟ ضروری هست ؟
//================================================== ==================
   if (Txtusername.Text='') or (TxtPassword.Text='') then
   begin
     if TxtPassword.Text='' then
        begin
            Txtusername.Color:=clwhite;
            TxtPassword.SetFocus;
            TxtPassword.Color:=cl3dlight;
            showmessage('رمز عبور را وارد نمائید ');
        end;
      if Txtusername.Text='' then
        begin
            TxtPassword.Color:=clwhite;
            Txtusername.SetFocus;
            Txtusername.Color:=cl3dlight;
            showmessage('نام کاربری را وراد نمائید .');
        end;
   end
   else
    begin
      TxtPassword.Color:=clwhite;
      Txtusername.Color:=clwhite;
      FrmDMTransport.ADOQUser.active:=false;
      FrmDMTransport.ADOQUser.SQL.Clear;
      FrmDMTransport.ADOQUser.SQL.Add('select * from Userr where Username=:ui and Password=:ps');
      FrmDMTransport.ADOQUser.Parameters.ParamByName('ui ').Value:=Txtusername.Text;
      FrmDMTransport.ADOQUser.Parameters.ParamByName('ps ').Value:=TxtPassword.Text;
      FrmDMTransport.ADOQUser.ExecSQL;
      FrmDMTransport.ADOQUser.Active:=true;
      if FrmDMTransport.ADOQUser.IsEmpty=true then
        begin
           showmessage('نام کاربری و رمز عبور اشتباه می باشد ');
           Txtusername.SetFocus;
        end
        else
        begin
           FrmLogin.Visible:=false;
           frmMain.show;
        end;
   end;
//================================================== ==================
behzad_dr
دوشنبه 13 مهر 1388, 23:20 عصر
سلام دوست گرامی.
به نظر من اشتباه محض استفاده از دیتابیس برای نام کاربری و رمز عبور .. شما می تونی از فایل استفاده کنی .. خصوصا الان که فقط از یه user , pass میخوای استفاده کنی
amir_ir
دوشنبه 13 مهر 1388, 23:55 عصر
این هم به اون شکلی که میخواستید اول username چک بشه و بعد  pass : 
//================================================== ==================
FrmDMTransport.ADOCTransport.Connected:=true;
   if (Txtusername.Text='') or (TxtPassword.Text='') then
   begin
     if TxtPassword.Text='' then
        begin
            Txtusername.Color:=clwhite;
            TxtPassword.SetFocus;
            TxtPassword.Color:=cl3dlight;
            showmessage('.کاربر گرامی رمز عبور را وارد نمائید');
        end;
      if Txtusername.Text='' then
        begin
            TxtPassword.Color:=clwhite;
            Txtusername.SetFocus;
            Txtusername.Color:=cl3dlight;
            showmessage('.کاربر گرامی نام کاربری را وارد نمائئد');
        end;
   end
   else
    begin
      TxtPassword.Color:=clwhite;
      Txtusername.Color:=clwhite;
      FrmDMTransport.ADOQUser.active:=false;
      FrmDMTransport.ADOQUser.SQL.Clear;
      FrmDMTransport.ADOQUser.SQL.Add('select * from Userr where Username=:ui ');
      FrmDMTransport.ADOQUser.Parameters.ParamByName('ui ').Value:=Txtusername.Text;
      FrmDMTransport.ADOQUser.ExecSQL;
      FrmDMTransport.ADOQUser.Active:=true;
      if FrmDMTransport.ADOQUser.IsEmpty=false then
        begin
          TxtPassword.Color:=clwhite;
          Txtusername.Color:=clwhite;
          FrmDMTransport.ADOQUser.active:=false;
          FrmDMTransport.ADOQUser.SQL.Clear;
          FrmDMTransport.ADOQUser.SQL.Add('select * from Userr where Username=:ui and Password=:ps');
          FrmDMTransport.ADOQUser.Parameters.ParamByName('ps ').Value:=TxtPassword.Text;
          FrmDMTransport.ADOQUser.Parameters.ParamByName('ui ').Value:=Txtusername.Text;
          FrmDMTransport.ADOQUser.ExecSQL;
          FrmDMTransport.ADOQUser.Active:=true;
         if FrmDMTransport.ADOQUser.IsEmpty=true then
           begin
              showmessage(' 'رمز وارد شده اشتباه می باشد ');
              TxtPassword.SetFocus;
           end
           else
           begin
              FrmLogin.Visible:=false;
              frmMain.show;
           end;
        end
        else
        begin
            ShowMessage('نام کاربری وارد شده وجود ندارد.');
            Txtusername.SetFocus;
        end;
   end;
//================================================== ==================
موفق باشی
farzane_fn
سه شنبه 14 مهر 1388, 15:57 عصر
دوست عزيز اگر درست متوجه شده باشم شما بايد دوتا دستور را اجرا كني :
 
 
Adoquery1.SQL.Clear;
Adoquery1.SQL.Text:='select count(*) as M from password where username='+quotedstr(edit1.Text)+' and password='+quotedstr(edit2.Text);
adoquery1.Open;
if adoquery1.FieldByName('m').AsInteger>0 then
 begin
  Adoquery1.SQL.Clear;
  Adoquery1.SQL.Text:='delete from password where username='+quotedstr(edit1.Text)+' and password='+quotedstr(edit2.Text);
  adoquery1.ExecSQL;
 end
  else
   begin
    showmessage('نام كاربري يا رمز ورود نادرست است');
   end;
كد دلفي
http://www.mojtabaie.persianblog.ir (http://www.mojtabaie.persianblog.ir/)
 
موفق باشي
 
 
دوست عزیزم سلام.راهنماییتون واقعا مفید بود.از شما متشکرم
farzane_fn
سه شنبه 14 مهر 1388, 15:59 عصر
این هم به اون شکلی که میخواستید اول username چک بشه و بعد pass : 
//================================================== ==================
FrmDMTransport.ADOCTransport.Connected:=true;
   if (Txtusername.Text='') or (TxtPassword.Text='') then
   begin
     if TxtPassword.Text='' then
        begin
            Txtusername.Color:=clwhite;
            TxtPassword.SetFocus;
            TxtPassword.Color:=cl3dlight;
            showmessage('.کاربر گرامی رمز عبور را وارد نمائید');
        end;
      if Txtusername.Text='' then
        begin
            TxtPassword.Color:=clwhite;
            Txtusername.SetFocus;
            Txtusername.Color:=cl3dlight;
            showmessage('.کاربر گرامی نام کاربری را وارد نمائئد');
        end;
   end
   else
    begin
      TxtPassword.Color:=clwhite;
      Txtusername.Color:=clwhite;
      FrmDMTransport.ADOQUser.active:=false;
      FrmDMTransport.ADOQUser.SQL.Clear;
      FrmDMTransport.ADOQUser.SQL.Add('select * from Userr where Username=:ui ');
      FrmDMTransport.ADOQUser.Parameters.ParamByName('ui ').Value:=Txtusername.Text;
      FrmDMTransport.ADOQUser.ExecSQL;
      FrmDMTransport.ADOQUser.Active:=true;
      if FrmDMTransport.ADOQUser.IsEmpty=false then
        begin
 
          TxtPassword.Color:=clwhite;
          Txtusername.Color:=clwhite;
          FrmDMTransport.ADOQUser.active:=false;
          FrmDMTransport.ADOQUser.SQL.Clear;
          FrmDMTransport.ADOQUser.SQL.Add('select * from Userr where Username=:ui and Password=:ps');
          FrmDMTransport.ADOQUser.Parameters.ParamByName('ps ').Value:=TxtPassword.Text;
          FrmDMTransport.ADOQUser.Parameters.ParamByName('ui ').Value:=Txtusername.Text;
          FrmDMTransport.ADOQUser.ExecSQL;
          FrmDMTransport.ADOQUser.Active:=true;
         if FrmDMTransport.ADOQUser.IsEmpty=true then
           begin
              showmessage(' 'رمز وارد شده اشتباه می باشد ');
              TxtPassword.SetFocus;
           end
           else
           begin
              FrmLogin.Visible:=false;
              frmMain.show;
           end;
        end
        else
        begin
            ShowMessage('نام کاربری وارد شده وجود ندارد.');
            Txtusername.SetFocus;
        end;
   end;
//================================================== ==================
موفق باشی
سارا جان سلام.دوست خوبم از راهنماییتون متشکرم.از اینکه دوست خودت رو قابل می دونی ازت ممنونم.
farzane_fn
سه شنبه 14 مهر 1388, 16:00 عصر
این هم به اون شکلی که میخواستید اول username چک بشه و بعد pass : 
//================================================== ==================
FrmDMTransport.ADOCTransport.Connected:=true;
   if (Txtusername.Text='') or (TxtPassword.Text='') then
   begin
     if TxtPassword.Text='' then
        begin
            Txtusername.Color:=clwhite;
            TxtPassword.SetFocus;
            TxtPassword.Color:=cl3dlight;
            showmessage('.کاربر گرامی رمز عبور را وارد نمائید');
        end;
      if Txtusername.Text='' then
        begin
            TxtPassword.Color:=clwhite;
            Txtusername.SetFocus;
            Txtusername.Color:=cl3dlight;
            showmessage('.کاربر گرامی نام کاربری را وارد نمائئد');
        end;
   end
   else
    begin
      TxtPassword.Color:=clwhite;
      Txtusername.Color:=clwhite;
      FrmDMTransport.ADOQUser.active:=false;
      FrmDMTransport.ADOQUser.SQL.Clear;
      FrmDMTransport.ADOQUser.SQL.Add('select * from Userr where Username=:ui ');
      FrmDMTransport.ADOQUser.Parameters.ParamByName('ui ').Value:=Txtusername.Text;
      FrmDMTransport.ADOQUser.ExecSQL;
      FrmDMTransport.ADOQUser.Active:=true;
      if FrmDMTransport.ADOQUser.IsEmpty=false then
        begin
 
          TxtPassword.Color:=clwhite;
          Txtusername.Color:=clwhite;
          FrmDMTransport.ADOQUser.active:=false;
          FrmDMTransport.ADOQUser.SQL.Clear;
          FrmDMTransport.ADOQUser.SQL.Add('select * from Userr where Username=:ui and Password=:ps');
          FrmDMTransport.ADOQUser.Parameters.ParamByName('ps ').Value:=TxtPassword.Text;
          FrmDMTransport.ADOQUser.Parameters.ParamByName('ui ').Value:=Txtusername.Text;
          FrmDMTransport.ADOQUser.ExecSQL;
          FrmDMTransport.ADOQUser.Active:=true;
         if FrmDMTransport.ADOQUser.IsEmpty=true then
           begin
              showmessage(' 'رمز وارد شده اشتباه می باشد ');
              TxtPassword.SetFocus;
           end
           else
           begin
              FrmLogin.Visible:=false;
              frmMain.show;
           end;
        end
        else
        begin
            ShowMessage('نام کاربری وارد شده وجود ندارد.');
            Txtusername.SetFocus;
        end;
   end;
//================================================== ==================
موفق باشی
سارا جان سلام. دوست خوبم از راهنماییت متشکرم.از اینکه دوست خودت رو قابل می دونی و جواب می دی به سوالش ازت ممنونم. و از اینکه این تاپیک دوبار ارسال شده هم ازت معذرت می خوام.
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.