|
#1
|
|||
|
|||
РЕгистраиця
В общем есть клиент есть сервере ,клиент вводит свои данные в едиты и отправляет их на сервер..там они так же проверяются и заносятся в бд..все это реализованно, вот
Код:
if (edit1.text<>'') and (edit2.text<>'') and (edit3.text<>'') and (edit4.text<>'') then begin form1.ADOQuery1.Insert; form1.ADOQuery1Name.AsString:=Edit1.Text; form1.ADOQuery1Fam.AsString:=Edit2.Text; form1.ADOQuery1Email.AsString:=Edit3.Text; form1.ADOQuery1IP.AsString:=Edit4.Text; form1.ADOQuery1.Post; button3.Click; end; НА клиенте стоит отпределитель айпи адресса и он летит в 4-ый едит ... Мне надо сделать так что бы в первый когда клиент запускает форму регистрации на сервер отправлялся айпи адресс с командой и айпишником ,и вот как в таблице найти айпи адрес который отправил клиент?если он его нашел то пусть вышлет команду по которой вылетет сообщение уклиента что он зарегистрирован ... в общем я расписал много ,а суть вопроса в том что бы обьясниь мне как сделать поиск по табле (она одна единственная у меня )и написать два случая если он нашел то ... или если не нашел то ... пробывал конкретный пример ADOQuery1.SQL.Add('select* from ПОльзователи where IP='+QuotedStr(edit4.text)); if ADOQuery1.Eof then showmessage ('Уже есть'); Но он в любом случае писал что он уже есть даже если я вручную отправлял айпи адресс другой меняя его он писал что такой уже есть Последний раз редактировалось Admin, 01.02.2009 в 17:18. |
#2
|
|||
|
|||
Могу предложить следующее, ты когда записываешь в базу АПишник то ты можешь добавить допустим 2 поля (USER_ID и Q) пример, туда записывается апишник индивикатор пользователя он 100% один 2 их не может быть и в Q записываешь допустим 1 и при проверке от пользователя ты делаешь (сверяешь ID, в поле Q если есть 1 то выдавай на экран), и когда вылезет все ровно утебя будет кнопка закрыть и в этой кнопке сделай чтобы в поле Q сохранилась 2 и в следующей раз не будет выпазить.
Вот у меня был пример: Есть база есть таблица с пользователями т есть таблица (назовем доки), и сделать следуюшее когда в таблице появится новая запись выводи тому пользователю которому выбралди когда сохранали в доки, вот как раз я там реализовал 2 поля кторый смог опрашивать и выводить номые записи но когда нажимал закрыть она менялась и в следуюший раз не вылазла мол типо как увеломления пример как сдлелал на Тимере: Код HTML:
в а записывается ID пользователя, а в q записывается последовательность действий |
#3
|
|||
|
|||
Как сделать ид пользователя разжуй пожалуйста
|
#4
|
|||
|
|||
)
Ну смотри у тебя где пользователи храняться? в какой таблице? ты её сам ведь создаешь? |
#5
|
|||
|
|||
У меня всего одна табла )) так и называется Пользователи ,просто я вообще первый раз работаю с бд и с языком запросов)))Слушай не дашь свою асю или не мне не отпишешь что бы с этим делом разобраться плз?471364929
|
#6
|
|||
|
|||
да жесть ) чтоб понять тебе нужно самого начала читать все про SQL все про буза данных взяимоджействия с ними, проше говаря изучать)
а что для твоей программы сперва если ты используеш много пользовательскую, то нужно тебе хранить пользователей моно сделать их в отдельной таблице в ней только пользватели и права и пароли и тогдалие (фио отдел тел долж), затем тубу нужно сделать отдельно другую таблицу там где будет храниться твои логи от регистрации пользователей в базе (это разумно и логично), и как раз у тебя получится 2 таблицы и ты сможеш спокойно манипулировать как захочешь. А если у тебя вопрос от куда и какой ID и что это такое ))) тебе тогда нужно читать еще и про создание таблиц и добаление новой записи а ID это индификатор уникальной записи в таблице. Так что тебе нужно? |
#7
|
|||
|
|||
В общем это регистрация без пароля))это просто как бы сказать обязательное заполнение своего профиля )))
вот эо заполнение профиля(информации о себе )я буду называть регистрацией,и вот зарегистрироваться уже ясно как ,сделано ,но вот пользователь один и тот же мог регистрироваться сколько угодно ,и это выгляжело бы как новый пользователь ..в общем я хотел сделать так что если пользователь уже зарегистрировался то процесс регистрации закрывался бы ,то есть просто сворачиваем эту форму ,это я хотел сделать через айпишник он при коннекте автоматом отправлялся на сервер (вот тут то у меня и возникла проблема поиска такого же айпишника и что делать с результатом поиска ,чтоя досих пор незнаю),а сервер тем неменее смотрел ,если результаты поиска по табле неравны нулю то отправлял команду по которой у клиента сворачивалась форма регистрации,иначе если же результат поиска равен нулю то пользователь мог продолжить регистрацию ,в общем я умею тока заносить данные в таблу пришедшие от клиента а как с поиском и так дале разобраться я не всекаю..надеюсь подкорректировал вопрос |
#8
|
|||
|
|||
Ну тогда нужно тебе знать как выташить из системы твой апишник это раз во 2-х нужно все ровно в таблице у пользователей сделать поле IP и туда заносить тот апишник который у клиенте на компе, тоетсь ты регистрируешся у тебя из системы берется апи вставляется в таблицу твою и когда в последуший раз ты открываеш прогу она уже должна сверять апишник в базу и апигник на клиенте физически, если верно то регистрацию пропускаем и переходит в основную форму если не похож ии нет апишника то регистрация,
Вот если ты знаеш как вытащить из системы апи то думаю ты сможешщ реализовать, а я не наю как вытащить из системы, зналбы товно бы сказал ) |
#9
|
|||
|
|||
Вытащить айпи из системы есть такой компонент))все реализовано))))ты лучше помоги как свериться))
|
#10
|
|||
|
|||
выложи код и куда ты его вытаскиваешь? в каком виде он находится лучше когд)
|
#11
|
|||
|
|||
Вроде разобрался хотя есть вопросы
Последний раз редактировалось Booo, 01.02.2009 в 19:57. |
#12
|
|||
|
|||
сейчас сделал проверку на кнопку есть ли такое же имя в табле,щас переделаю не поиск имя а поиск айпи ...
слушай скажи мне лучше каким запросом можно удалить строку в которой я искал значение поля имя ?)) нахожу с помощью Locate Код:
if AdoQuery1.Locate(ffield, fvalue, opts) then ShowMessage(fvalue + ' Хопа вот он на!! ' + ffield); Код:
if (edit1.text<>'') and (edit2.text<>'') and (edit3.text<>'') and (edit4.text<>'') then begin form1.ADOQuery1.Insert; form1.ADOQuery1Name.AsString:=Edit1.Text; form1.ADOQuery1Fam.AsString:=Edit2.Text; form1.ADOQuery1Email.AsString:=Edit3.Text; form1.ADOQuery1IP.AsString:=Edit4.Text; form1.ADOQuery1.Post; ,что бы пользователь мог менять свой профиль он может сам вручную опять открывать форму регистрации отправлять свои данные(естественно айпишник останется тем же) и как сделать что бы новые данные заменили старые? |