powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Форма ввода логина и пароля
25 сообщений из 25, страница 1 из 1
Форма ввода логина и пароля
    #35947614
Danmer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возник вопрос как сделать чтобы вход в программу осуществлялся с помощью логина и пароля...

Создал таблицу usеrs, и форму на которой разместил 2 текстовых поля - логин и пароль...

Вот только как это все реализовать не знаю...
Возможно нужно чтобы когда нажимаешь кнопку ввод проверялись введенные данные и сравнивались с данными которые занесены в таблицу users.

Может кто сталкивался с такой проблемой и делал подобные вещи....Поделитесь пожалуйста советами и опытом...
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35947693
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну а что еще можно придумать ?
Ну у пароля ставим PasswordChar='*' , чтобы при вводе были * , а не буквы
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35947753
Danmer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не,ну это понятно, вопрос то в другом, как сделать чтобы он входил именно под введенным логином и паролем которые забиты в таблицу users. как то проверял эти данные и если они верны то осуществлялся бы вход
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35947982
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ничего не понятно,обясните вот это помедленнее и по русски

авторкак сделать чтобы он входил именно под введенным логином и паролем которые забиты в таблицу users. как то проверял эти данные и если они верны то осуществлялся бы вход
что за таблица такая users ,что там храниться ?
что значит осуществлялся вход ?
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35948309
alextashk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавь поиск по логину и проверку пароля
Если не найдёт или пароль не подойдёт, то пока
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35948719
Danmer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alextashk - а как сделать этот поиск и проверку?
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35948720
GermanGM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danmer, заставлять пользователя вводить имя, конечно, - не лучший вариант, целесообразнее предоставить выбор из списка (и приладить к процедуре регистрации какую-нибудь "запоминалку" последнего зарегистрировавшегося на этом компьютере юзера). Пароль можно зашифровать, хотя бы примитивно, с помощью BITXOR(). + PasswordChar, о котором Вам уже упоминали, вот вроде бы и все...
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35948726
Danmer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-=AlexiS=- - в таблице users хранятся логины и пароли...

Код: plaintext
что значит осуществлялся вход ?
- это значит чтобы проверял как-то эти логины и пароли, и если правильные то допустим запускал главную форму или меню...
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35948730
Danmer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GermanGM - можно не обязательно имя вводить, пользователь сможет ввести любой логин какой ему больше по душе....
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35948813
GermanGM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danmer, "имя" = "логин", это я и имел в виду разумеется. Но список пользователей, имеющих доступ к программе, все равно должен находиться в Вашем вЕдении. Вы и должны присваивать имена/пароли. Если вводить логин в поле, то можно добавить в Init Textbox-a примерно следующее:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
if file(<стартовый каталог программы>+'LASTUSER.SET')
 local lnHeader
 lnHeader=fopen(<стартовый каталог программы>+'LASTUSER.SET')
 if lnHeader> 0 
  this.value=padr(ltrim(fgets(lnHeader)), 30 )
  this.refresh
 endif
endif

и после правильного ввода пароля - соответственно запись в тот же файл введенного логина
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35948827
GermanGM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поправлю себя... :)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
if file(<стартовый каталог программы>+'LASTUSER.SET')
 local lnHeader
 lnHeader=fopen(<стартовый каталог программы>+'LASTUSER.SET')
 if lnHeader> 0 
  this.value=padr(ltrim(fgets(lnHeader)), 30 )
  this.refresh
  =fclose(lnHeader)
 endif
endif
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35948854
Danmer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GermanGM - вы неверно не так поняли, эта программа будет работать локально, т.е. пользователь установил ее на своем ПК,и сам уже ей распоряжается и задает свои логины и пароли, я уже никак в этом не участвую. Если допустим этой программой будут пользоваться 2 человека, то в таблице users будет хранится 2 логина с паролями...и каждый будет заходить под своим...
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35948901
GermanGM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danmer, ну, тогда это наиболее простой случай.
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35948931
Danmer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в том то и дело что я новичек...и не знаю что прописывать в форме, что в кнопке входа, как сделать чтобы он проверял эти логины и пароли.....
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35949115
GermanGM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danmer, c "эргономической" точки зрения предложенный Вами вариант неоптимален. IMHO, естественно. Я для регистрации пользователей использую форму с Grid-ом. Это избавляет юзера от необходимости помнить свой логин, меня - от лишней операции поиска по имени пользователя (достаточно проверить правильность ввода пароля). Там же кнопки добавления/удаления, доступ к редактированию прав доступа и т.п.
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35949212
Danmer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GermanGM - а можете скинуть эту форму для примера, ну и таблицу если она с формой связана???
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35949313
GermanGM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(offtopic) ok, в течение дня либо вечером (работы море)
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35949317
Danmer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заранее огромное спасибо!!!
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35949601
alextashk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Danmer

На пальцах

Заводишь таблицу с минимум 4 полями минимум
код пользователя (для лога) (индекс)
имя пользователя - чтоб знать какой пользователь имеет какой логин (индекс)
логин
пароль

форма - два текст-бокса 1. Логин, 2. Пароль
кнопка, в кнопке код

IF SEEK(ThisForm.text1.Value, "users", "login") THEN
всё хорошо
else
всё плохо
endif
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35949907
Danmer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alextashk - почему минимум 4?

Код: plaintext
1.
код пользователя (для лога) (индекс)
имя пользователя - чтоб знать какой пользователь имеет какой логин (индекс)
- не совсем понял эти строки....

Имя пользователя по сути не нужно...
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35950194
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
обьясните для чего вообще нужен вход под разными логинами ?
как-то деляться права , или протокол ведеться .
в зависимости от целей - структура таблички юзеров
как по мне , то предложенное alextashk
код/полное имя/логин/пароль - действительно минимальное
код - для того чтобы записывать в логи или если есть какие-то настроечные таблички - чтобы в них искать.
полное имя - ну тут чтобы было понятно кто есть кто , ведь по логину не всегда можно определить .Я например его еще показываю в заголовке главного окна
ну и логин / пароль для идентификации
насчет комбо-боксов и гридов - не согласен
все-таки лучше чтобы вводили вручную , это дополнительная защита.
а так - злоумышленику наполовину облегчаем жизнь .
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35950276
GermanGM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=AlexiS=-, ну, условный код пользователя разумеется необходим, уже по той простой причине, что его можно сделать намного компактнее... выбор же из списка не облегчит доступ злоумышленнику, при наличии ввода пароля.
(off. За "Scripting.FileSystemObject" искреннее и большое спасибо!)
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35950330
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tо GermanGM - всегда пожалуйста
в исходном топике - ссылка на русcкую доку по FSO
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35957955
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GermanGMПоправлю себя... :)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
if file(<стартовый каталог программы>+'LASTUSER.SET')
 local lnHeader
 lnHeader=fopen(<стартовый каталог программы>+'LASTUSER.SET')
 if lnHeader> 0 
  this.value=padr(ltrim(fgets(lnHeader)), 30 )
  this.refresh
  =fclose(lnHeader)
 endif
endif
по-моему куда проще в данном случае юзать фунции STRTOFILE()/FILETOSTR()
т.е.
Код: plaintext
1.
2.
3.
if file(<стартовый каталог программы>+'LASTUSER.SET')
  this.value=filetostr(<стартовый каталог программы>+'LASTUSER.SET')
  this.refresh
endif
а запись еще проще (представляю как она выглядит на низком уровне с fwrite :)
Код: plaintext
1.
2.
erase(<стартовый каталог программы>+'LASTUSER.SET')
  =STRTOFILE(this.value,<стартовый каталог программы>+'LASTUSER.SET')
...
Рейтинг: 0 / 0
Форма ввода логина и пароля
    #35958450
GermanGM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CTAC-KO, Тема, собственно, не об оптимизации программного кода. И какая разница (в данном случае) между "низким" уровнем fread()/fwrite() и "высоким" filetostr()/strtofile()? Только в синтаксисе.

Кстати, to Danmer: посылка дошла? Отправил на Ваш e-mail
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Форма ввода логина и пароля
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]