Topic: Отдельная форма для пользователей с разными правами.
Добрый день, пытаюсь по вашим примерам собрать некоторую конструкцию. Собрал авторизацию на MySQL и с MD5. Пытаюсь сделать так чтобы при входе админа он попадал на свою форму, а пользователь соответственно на свою. В таблице пользователей есть поле admin (ДА/НЕТ), но что то не выходит его оттуда вытянуть, либо я не понимаю что то. Вот скрипт отвечающий за авторизацию, который у меня на данный момент.
procedure frmLogin_ButtonLogin_OnClick (Sender: string; var Cancel: boolean);
var
iniFile:TIniFile;
sHash: string;
uPerm: string;
begin
ConnectToServer;
if frmLogin.MySQLConnection.Connected then
begin
// проверяем пользователя...
// получить хеш пароля
sHash := VarToStr( SQLExecute('SELECT password FROM users WHERE (login = ''' + frmLogin.EditLogin.Text + ''');') );
// сравнить хэш
if sHash = StrToMD5(frmLogin.EditPassword.Text) then
begin
// получение да/нет значения из поля adminEX для текущего пользователя
uPerm := VarToStr( SQLExecute('SELECT adminEX FROM users WHERE (login = ''' + frmLogin.EditLogin.Text + ''');') );
if uPerm = '0' then
begin
// значение 0=false открыть форму для пользователя
frmLogin.Hide;
frmUser.ShowModal;
end
else
begin
// значение 1=true откыть форму для админа
frmLogin.Hide;
frmAdmin.ShowModal;
end;
end
else
begin
// пароль не совпал со значением в базе данных
ShowMessage('Неверное имя пользователя или пароль!');
frmLogin.MySQLConnection.Disconnect;
end;
end
else
ShowMessage('Не удалось подключиться к базе данных');
end;
Все части скрипта работают кроме той что отвечает за выбор формы. Тупо кидает на форму админа и пользователей и админа.