Toms Posted April 25, 2005 Report Share Posted April 25, 2005 Nevajag zināt, kā to uzkodēt. Vajag zināt, kāds ir labākais/vēlamais veids, kādā nodrošināt lietotāja reģistrāciju ar unikāla lika palīdzību. Reāls piemērs - draugiem.lv reģistrācija. Tev nosūta uzaicinājumu (tjip unikālu linku), Tu uz viņa uzklikšķini un Tevi aizved uz reģistrēšanās lapu. (draugos bik savādāk, bet nu princips līdzīgs) Taatad - tiek uzģenerēts links unikāls, kas saglabājas datubāzē? ar noilgumu teiksim 48 h? Vai kā savādāk... Hmhm... Varbūt ir kāds, kurš veidojis ko līdzīgu? Link to comment Share on other sites More sharing options...
Venom Posted April 25, 2005 Report Share Posted April 25, 2005 nujā liec papildkolonnas - reģistrācijas pieteikuma laiks un unikālais hashs, piem. md5(no email, username, pwd + pieteikuma laiks) tad, ja tiek nodots ar linku hashs, tiek pārbaudīts vai tāds ir db un vai tas nav noildzis + paralēli laiku pa laikam tiek izsaukts process ar DELETE FROM table WHERE pieteikuma_laiks<time()-3600*24*2 (mazāks nekā 48 h atpakaļ) procesu liek vai nu uz cron (lin) / at (win) dēmonu, vai arī piem. pie citu lietotāju reģistrācijas if (!rand(0,10)) mysql_query('DELETE ...'); //ar varbūtību 10% uzsāks novecojošo ierakstu dzēšanu Link to comment Share on other sites More sharing options...
Toms Posted April 25, 2005 Author Report Share Posted April 25, 2005 Papildkolonuu lietotaaju tabulaa? Un tjip nosuutot to unikaalo linku jau izveidot lietotaaja sagatavi? tjip: | ID | mail | ... | ... | unique hash | Un ja lietotaajs to unique apstiprina, tad vinju izveido liidz galam (vaards u.c.), jeb ja neapstiprina 48 h laikaa - izdzeesh. Pareizi sapratu? aa, veel nepiecieshama kolonna ar laiku (tjip datetime), lai zinaatu, kurus atsijaat peec taam 48 h? ja? Link to comment Share on other sites More sharing options...
bubu Posted April 25, 2005 Report Share Posted April 25, 2005 Jā, pareizi saprati. Link to comment Share on other sites More sharing options...
Toms Posted April 25, 2005 Author Report Share Posted April 25, 2005 Papildjautaajums: Ja man lietotaju tabulaa ir kaadas 50 kolonnas ar dazhaadiem vajadziigiem lielumiem. Pie lietotaaju skaita ap 50 000. aatruma zinjaa iipashi neiespaidos, ne? Negribaas taisiit DB testeeshanai... Link to comment Share on other sites More sharing options...
Venom Posted April 25, 2005 Report Share Posted April 25, 2005 ahā pie reģistrācijas insert into tabula mail, login, laiks, hash ja lietotājam hash ir, tad viņš ir piereģistrējies, bet neapstiprinājies, pie apstiprināšanas update tabula set hash=tas un tas where lietotaja_id=tas un tas vai nu arī papildkolonna 1/0 status. un hash-kolonnu var tālāk izmantot arī kad piem. aizmirsta parole, e.g. noģenerē jauno nekodēti, iliek hashu un ja tiek ienākts ar hashu, noģenerēto paroli ieliek vietā jau kā md5 vai nu arī pieprasa ievadīt jaunu. kā nu izvrašenstva pietiek Link to comment Share on other sites More sharing options...
Venom Posted April 25, 2005 Report Share Posted April 25, 2005 Ja man lietotaju tabulaa ir kaadas 50 kolonnas ar dazhaadiem vajadziigiem lielumiem. Pie lietotaaju skaita ap 50 000. aatruma zinjaa iipashi neiespaidos, ne? nu ja tur netiek glabāts pa 64K katrā, tad varētu būt ok. ja nē - izmanto horizontālo gla bāšanu, ķip id|info_tips|value 1|1 | vārds 2|2 | uzvārds .... Link to comment Share on other sites More sharing options...
Toms Posted April 25, 2005 Author Report Share Posted April 25, 2005 Nuja, tabula: 50 ieraksti horizointaali (id,name,surname,pass,mail,vecums, APRAKSTS(veertiiba TEXT ar apmeeram 2000 garu tekstu), apraksts2, u.t.t. liidz 50) +--+--+ ... --+ | | +--+--+ ... --+ | | +--+--+ ... --+ . . . . . . | | +--+--+ ... --+ Un 50 000 ierakstu vertikaali: 2, janka, beerzs, mmanaparole, janka@kk.lv, 23, ... 4, fredis, beerzs, mmanaparole, janka@kk.lv, 23, ... ... ... Shitam buutu jaabuuut OK, vai ne? Link to comment Share on other sites More sharing options...
bubu Posted April 25, 2005 Report Share Posted April 25, 2005 Tas tak ir nepareizi: lietot aprakst1,...apraksts50 kolonnas. Tā ir viena no pazīmēm, ka jāņem 1-n relācija: useris (id,name,surname) apraksts(id, usera_id, teksts) Ko īsti tavi +- tur nozīmē saprast nevar. Lieto vai birkas. Link to comment Share on other sites More sharing options...
Toms Posted April 25, 2005 Author Report Share Posted April 25, 2005 Bik siikaak vari pastaastiit? Tjip 2 tabulas? kaadi kywordi ieksh googles? Link to comment Share on other sites More sharing options...
bubu Posted April 25, 2005 Report Share Posted April 25, 2005 kewordi: "Entity-Relationship Model" vai "Database Normalization" A sīkāk: Ja tevā gadījumā ir šāda tabula id vards apraksts1 apraksts2 apraksts3 ---------------------------------------------- 1 janis janis_a1 janis_a2 janis_a3 2 juris juris_a1 juris_a2 juris_a3 tad manā ieteiktajā variantā būs šādas tabulas: users: id vards ------------- 1 janis 2 juris apraksts: id user_id teksts --------------------------- 1 1 janis_a1 2 1 janis_a2 3 1 janis_a3 4 2 juris_a1 5 2 juris_a2 6 2 juris_a3 Link to comment Share on other sites More sharing options...
Venom Posted April 25, 2005 Report Share Posted April 25, 2005 tabula 1 lietotāji id|user|mail... id|janis|kads@tads.lv ... tabula 2 apraksti id|lietotaja_id|apraksta_id|apraksta_teksts 1|1| 1| teksts 2|1| 2| teksts ... $result=fetch no select * from lietotaji where user='janis' echo sākuminfo select * from apraksti where lietotaja_id=$rezult['id'] while ... echo apraksti Link to comment Share on other sites More sharing options...
Venom Posted April 25, 2005 Report Share Posted April 25, 2005 :P Link to comment Share on other sites More sharing options...
Toms Posted April 25, 2005 Author Report Share Posted April 25, 2005 (edited) skaidriite, thanks :) Edited April 25, 2005 by Toms Link to comment Share on other sites More sharing options...
novaks Posted September 29, 2005 Report Share Posted September 29, 2005 A kā Jūs domājiet vai ir nepieciešama vēl viena tabula teiksim [ar rezervētiem lietotājvārdiem] kuri izdzēšas no tabulas pēc tām pašām 48 stundām ja nav pabeigta piereģistrēšanās?? Lai teiksim ja 1user piereģistrējas ar lietotājvārdu [jānis] ... tātad viņam tika aizsūtīts unikālais links bet to apstiprina un pabeidz savu piereģistrēšanos ... pēc 35 stundām. Bet pa to laiku user2 pierereģistrējas arī ar lietotājvārdu [jānis] bet apstiprināšanas kodu apstiprina ātrāk kā user1 ... Sanāk ka diviem user ir vienādi lietotājvārdi ... ok admin jau spēs atšķirt kurš ir kurš lietotājs bet pārējie foruma dalībnieki neašķirš kurš ir kurš jānis ... vai tas ko es te rakstu ir galīgi garām Link to comment Share on other sites More sharing options...
Recommended Posts