Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Struktura pyramidy se zaznačením ID toho, který pozval v DB u nově registrovaného

Fido123
verified
rating uzivatele
(13 hodnocení)
6. 5. 2014 13:14:17
Napsal kulisek;1085354
Tak ano potřebuji prvně při registraci uložit ID parenta a nakonec to pojistit, aby se to opakovalo až do páté úrovně. Ano jde o provize. Poradíte mi někdo jak to sepsat u té registrace popřípadě přes sdílenou obrazovku a nebo kdo by mi to komplet napsal, aby to fungovalo? Moc vás prosím. Děkuji
Hele zadej si poptávku a nech si to vypracovat jako zakázku.
6. 5. 2014 13:14:17
https://webtrh.cz/diskuse/struktura-pyramidy-se-zaznacenim-id-toho-ktery-pozval-v-db-u-nove-registrovaneho/strana/2/#reply1020267
kulisek926
verified
rating uzivatele
6. 5. 2014 13:15:57
Bral bych kdyby jste mi aspoň to nastínili. Registraci i včetně registračního emailu mám. Mám i doporučovací odkaz ale dál již nevím jak to napsat. Takže mi neporadíte ani to neuděláte za peníze? Děkuji
6. 5. 2014 13:15:57
https://webtrh.cz/diskuse/struktura-pyramidy-se-zaznacenim-id-toho-ktery-pozval-v-db-u-nove-registrovaneho/strana/2/#reply1020266
registrace neni moc pouzitelna popravde.
radime ti vsichni jak muzeme a rad tu padlo spoustu, ale ty nic neumis. za to uz my nemuzeme.
Rada nechat si to naprogramovat je ta nejlepsi ktera tu padla a padla tu nekolikrat.
Webtrh
6. 5. 2014 13:22:53
https://webtrh.cz/diskuse/struktura-pyramidy-se-zaznacenim-id-toho-ktery-pozval-v-db-u-nove-registrovaneho/strana/2/#reply1020265
Roman
verified
rating uzivatele
(11 hodnocení)
6. 5. 2014 13:25:23
hele kulisek poslouchaj, je několik cest:
a) ta vaše myšlenka = špatná
struktura tabulky:
struktura:
userid
parrrentid1
parrrentid2
parrrentid3
parrrentid4
parrrentid5
name
email
address
b)
struktura tabulky
struktura:
userid
parrentid
name
email
address
c) b + ideálně další tabulka (m:n)
userid
parrentid
problém je v tom, že neuvažujete. Bavíte se o věcech nesouvisejících. Ano, jde to "naprogramovat" s verzí a) ale je to blbost. Jak zde už někdo psal, jde o to, jak se "aplikace" bude ptát na to, kdo je v které úrovni.
A pokud se zeptáte správně, tak už jen budete počítat ty statisíce na provizích.
Uf.
6. 5. 2014 13:25:23
https://webtrh.cz/diskuse/struktura-pyramidy-se-zaznacenim-id-toho-ktery-pozval-v-db-u-nove-registrovaneho/strana/2/#reply1020264
kulisek926
verified
rating uzivatele
6. 5. 2014 13:27:22
Nemusíte mě urážet, že nic neumím. Naprogramoval jsem tento systém, který není lehký http://royaltips.cz/ tak se podívejte a pak tu něco pište, že nic neumím. Opravdu nemám rád takové chytré lidí, kteří začnou urážet jiné, že nic neumí atd..
Pořád píšete, že se si mám zjistit id toho nad ním atd. To já vím, že to chci vědět,a le nevím jak a to chic po vás, ale to je s vámi marné a urážet se opravdu nenechám, že nic neumím to si zkoušejte na někoho jiného a jestli nechcete poradit tak tu nechoďte a ani nepište. Děkuji
---------- Příspěvek doplněn 06.05.2014 v 13:30 ----------
mn. Děkuji, že mi takto radíte chápu, že nejspíš musí být další tabulka a opravdu chci co nejlepší, ale když mám registraci tak chci při registraci aby se u toho člověka dopadlo ID toho který ho pozval a to nevím jak udělat. To je to copotřebuji a když mi neporadíte tak pak bohužel to budu hledat někde jinde. CHápu vás co s tím, ale nevím jak to napsat, protože teď mám napsané, že se přičte odměna za podregistraci, ale z toho nejsem schopný zjistit ID toho, který ho pozval a to potřebuji, abych pak jen viděl ano ten pozval toho, ten toho atd.
Moc děkuji
6. 5. 2014 13:27:22
https://webtrh.cz/diskuse/struktura-pyramidy-se-zaznacenim-id-toho-ktery-pozval-v-db-u-nove-registrovaneho/strana/2/#reply1020263
Roman
verified
rating uzivatele
(11 hodnocení)
6. 5. 2014 13:39:24
kulisek:
pak ale chybu nehledejte v místní komunitě, nikdo za vás kód psát nebude. Alespoň dokud nepošlete ten kód co jste do teď napsal (a bavím se o kódu k tématu).
Z toho, co jsem napsal myšlenka zřejmá. Pokud umíte zaregistrovat uživatele (zapsat do db INSERT INTO u mysql např.), tak se můžete umět v tom samém kroku zeptat na id toho nadřazeného uživatele, tím ověřit, zda v db existuje a zapsat do tabulky záznam včetně nadřazeného id. a někde jinde se zeptat "má tento uživatel vyplněný parrent? ne, tak je na hlavní úrovni provize. atp.
Pokud tohle nezvládnete, tak si zadejte poptávku, za reálnou odměnu vám to jistě někdo zprovozní. Ale neplácejte nesmysly a nebo vážně běžte pryč. Takových co tu jen melou jak je všechno špatně a nejde a nefunguje bez špetky práce z jejich strany tu je, bylo a bude jistě dost.
6. 5. 2014 13:39:24
https://webtrh.cz/diskuse/struktura-pyramidy-se-zaznacenim-id-toho-ktery-pozval-v-db-u-nove-registrovaneho/strana/2/#reply1020262
init.22
verified
rating uzivatele
(7 hodnocení)
6. 5. 2014 13:55:00
Přijde mi smutné, jak někteří lidé postrádají soudnost a když je na to ostatní upozorní, tak jsou ještě nařčeni ze špatného chování. Je očividné, že se v oblasti tvorby webů moc neorientujete, obzvlášť když se chlubíte zvěrstvem typu royaltips.cz .. Ale právě proto se pokusím poradit i já, aby toto vlákno dále nepokračovalo..
Ptáte se, kde při registraci zjistíte ID toho, kdo registrovaného pozval a že máte připraven onen odkaz. Připraven jej zřejmě nemáte, protože právě v něm musí to ID přece být uloženo (nebo aspoň nějaký klíč, podle kterého si dohledáte v databázi už příslušného uživatele, který registrovaného pozval, resp. mu dal svůj odkaz).
Takže ten, kdo si pod sebe chce sehnat lidi si někde ve svém uživatelském profilu zobrazí svůj odkaz, který mu vygenerujete vy, např. www.abc.cz?ref=X , přičemž v PHP za to X dosadíte právě ID aktuálně přihlášeného člověka. Jakmile on tento odkaz někomu předá a tento na web příjde, tak si musí váš systém zapamatovat hodnotu v parametru ref, což je ono ID toho, kdo jej pozval. Při registraci pak jednoduše sáhnete do paměti (cookie nebo session) a tuto hodnotu použijete jako parentid pro uživatele, který se právě registroval.
Více úrovní při registraci neřešte - s ohledem na tzv. normalizaci dat v relační DB byste si měl vystačit s minimem uchovávaných údajů a výslednou datovou sestavu právě poskládat z více tabulek, příp. více záznamů v jedné tabulce - jinak může snadno vzniknout v DB "bordel". Proto při registraci uložte k nově vytvořenému uživateli pouze ID toho, kdo jej pozval a i díky tomu jste schopen reprodukovat celou strukturu tam, kde bude funkce na počítání nebo zobrazení provizí, což už lze udělat tím for cyklem, jak uvádíte (i když teoreticky by se to mělo dělat na straně DB serveru, ale to bude pro vás momentálně složité).
Cyklus pak tedy použijete pouze ve chvíli, kdy dojde k zakoupení produktu. Vyhledáte si stejným způsobem ID člověka (přes odkaz), který kupujícího přivedl a pomocí for od jedničky do pětky v každé iteraci zkusíte najít uživatele s ID stejným, jako je parentid toho současného (ten se samozřejmě s každým nalezeným změní). A bokem si třeba uložíte, kdo byl první, druhý .. pátý a jim pak zpětně přičtete provize.
Rozhodně jestli si na tohle netroufnete, tak to nechte někomu udělat, protože tady si koledujete o průser, kdy se budou špatně počítat provize (o čemž ani nemusíte vědět, protože půjde o logickou chybu, což aplikace nenahlásí) a také ve zmíněném snippetu kódu s registrací je neošetřený zápis do DB vůči tzv. SQL injection, kdy vám do DB může teoreticky zapisovat kdokoliv (ale také vám vše smazat v určitých případech).
Chtěl bych vás tedy poprosit, abyste sám sobě uznal, že se v tom moc neorientujete a nedohadoval se s diskutujícími, kteří radí dobře, ale pouze jim nerozumíte.
6. 5. 2014 13:55:00
https://webtrh.cz/diskuse/struktura-pyramidy-se-zaznacenim-id-toho-ktery-pozval-v-db-u-nove-registrovaneho/strana/2/#reply1020261
kulisek926
verified
rating uzivatele
6. 5. 2014 13:56:07
výše jsou uvedené kódy registrace a podregistrace. Tam to máte tak se podívejte. Ano nevím jak se zeptat na id parenta kdybych uměl tak to dokážu zapsat no a pak jen ještě udělat ten cyklus na 5 úrovní a je to celé. A opravdu mě nebaví jak pořád píšete, že nic neumím atd. Kašlu na to, protože jsem myslel, že mi poradíte, ale jste jen chytří a rady tu jsou, ale nic oc bych potřeboval. Rada je dobrá, ale tak rada ovšem nestačí, po nikom jsem nechtěl celý kód jen náznak. Děkuji
6. 5. 2014 13:56:07
https://webtrh.cz/diskuse/struktura-pyramidy-se-zaznacenim-id-toho-ktery-pozval-v-db-u-nove-registrovaneho/strana/2/#reply1020260
martinzsa
verified
rating uzivatele
(1 hodnocení)
6. 5. 2014 14:02:38
Napsal kulisek;1085363
Pořád píšete, že se si mám zjistit id toho nad ním atd. To já vím, že to chci vědět,a le nevím jak a to chic po vás, ale to je s vámi marné a urážet se opravdu nenechám, že nic neumím to si zkoušejte na někoho jiného a jestli nechcete poradit tak tu nechoďte a ani nepište. Děkuji
Princip je jednoduchy: registorvany uzivatel napr Jozko Mrkvicka ma v systeme priradene nejake ID napr 12345. Zaroven ma tento uzivatel neraky referal link ktory posiela ostatnym aby sa registrovali napr www.tvoja-stranka.cz/registracia.hmtl?ref=12345. V tomto linku bude obsiahnute ID -12345 cloveka ktory to odporuca-> Jozka Mrkvicku.
Pri registracii zapises uzivatela podla toho ako sa zaregistroval + do atributu kto mu odporucil si z linku vytiahnes ID. Cize do databazy ti vlezie napr Janko Hrasko s ID 23456 a ako osoba nad nim je vedene ID 12345 co je vlastne Jozko Mrkvicka. Neriesis ziadne urovne ani nic podobne lebo pri registracii je to nepodstatny udaj.
6. 5. 2014 14:02:38
https://webtrh.cz/diskuse/struktura-pyramidy-se-zaznacenim-id-toho-ktery-pozval-v-db-u-nove-registrovaneho/strana/2/#reply1020259
kulisek926
verified
rating uzivatele
6. 5. 2014 14:52:58
Děkuji za další rady. V tom kódu, díky kterému může pozvat někoho je zašifrovaný email, datum_registrace nic jiného. není tam tedy žádné ID jak píšete. Takže podle toho se to dá zjistit, ale bohužel nevím jak. Děkuji všem co tu něco napsali. Ještě to nezamykejte nebo nemažte já si to projdu a zkusím něco vytvořit. Děkuji vše
6. 5. 2014 14:52:58
https://webtrh.cz/diskuse/struktura-pyramidy-se-zaznacenim-id-toho-ktery-pozval-v-db-u-nove-registrovaneho/strana/2/#reply1020258
Roman
verified
rating uzivatele
(11 hodnocení)
6. 5. 2014 15:00:28
a co třeba "rozšifrovat" email a zeptat se:
select userid from users where email = 'kulisek@cepice.com'
je to v uvozovkách, protože šifrovanému emailu říkáme asi oba něčemu jinému..
zjistit id a pak ukládat do db uživatele s tím, že v parrentid bude kulíškovo id?:)
6. 5. 2014 15:00:28
https://webtrh.cz/diskuse/struktura-pyramidy-se-zaznacenim-id-toho-ktery-pozval-v-db-u-nove-registrovaneho/strana/2/#reply1020257
johanek
verified
rating uzivatele
6. 5. 2014 15:09:16
Vzhledem k tomu ze ten email neni zasifrovanej, ale zaheshovanej + je tam datum. Musel bys tim tvym slavnym cyklem projet vsechny lidi v DB, vytahnout si email + datum registrace, zaheshovat a porovnat s tim refer hashem. Coz je trochu ptakovina...
Takze si ten refer odkaz uprav na ID uzivatele, nebo na nejakej jinej unikatni kod, kterej se vytvori uzivateli pri registraci. A tim to budes porovnavat.
http://xxx.cz/?ref=kod123
vytahnes ID uzivatele podle REF kodu
overis jestli ID existuje pokud jo ulozis ID do $id_z_db; jinak das $id_z_db = 0;
vytvoris novyho uzivatele
6. 5. 2014 15:09:16
https://webtrh.cz/diskuse/struktura-pyramidy-se-zaznacenim-id-toho-ktery-pozval-v-db-u-nove-registrovaneho/strana/2/#reply1020256
kulisek926
verified
rating uzivatele
6. 5. 2014 15:10:33
Dobrý večer všem. Moc děkuji všem za rady. Seděl jsem nad tím celý den a nakonec to funguje. Když jsem se registroval pomocí toho odkazu tak mi to k jménu napsalo ID mě jako toho koho kdo mě pozval.
Problém je, že já to mám nastavené na zápis a funguje to ten zápis jen když jsem přihlášený tedy ten kdo pozval, což by nemělo být.
$_SESSION
Celý kód díky kterému se tvoří ten kód na pozívání a ze kterého tahám ID je zde:
$aPathInfo = pathinfo($_SERVER);
$sConfirmUrl = "http://{$_SERVER}{$aPathInfo}/registrace.php";
$sSql = "SELECT SHA1(CONCAT(email, datum_registrace)) AS link
FROM uzivatele
WHERE id = {$_SESSION}";
// echo $sSql; die;
// echo $_SESSION;
// $oResult = mysql_query($sSql);
// $oUzivatel = mysql_fetch_object($oResult);
// $sLink = "{$sConfirmUrl}?parent={$oUzivatel->link}";
?>
Kdo můžete tak mi poraďte. Již to bude hotové jen opravdu to opravit tak, aby to fungovalo i když nejsem pihlášen tedy není přihlášen ten, který ho pozval. Moc vám děkuji
6. 5. 2014 15:10:33
https://webtrh.cz/diskuse/struktura-pyramidy-se-zaznacenim-id-toho-ktery-pozval-v-db-u-nove-registrovaneho/strana/2/#reply1020255
ryvova
verified
rating uzivatele
7. 5. 2014 10:42:13
Psala jsem část kódu aplikace. Ne kompletní registraci, jen tu část, která sestaví reg. link, jenž se pošle mailem klientovi a pak se po potvrzení registrace připíše provize parentovi nad ním, takže trochu vím, o čem je řeč.
ID v linku není, je tam nějak zašifrované. Nepamatuju si přesně jak je ten link sestaven, možná je tam i použit nějaký hash a porovnává se hodnota linku, na který kliká s tím, co je v DB. V každém případě ID parenta může bez problémů zjistit v kódu v okamžiku, kdy se generuje link pro potvrzovací mail (při registraci) nebo v okamžiku, kdy se připisuje provize a není problém ho v tom okamžiku v DB vyplnit.
Jako nejjednodušší na pochopení mi připadá řešení, které se mu snažím vysvětlit:
Každý uživatel má u sebe id_parenta.
Pak for cyklem poleze nahoru tolikrát kolikrát bude chtít (nebo dokud nenarazí na id_parent = NULL) a v cyklu nějakým switchem spočítá provizi (pro každý level jinou).
Není to nejefektivnější řešení, ale dle mého soudu je na pochopení nejjednodušší a měl by ho zvládnout naprogramovat i začátečník. Stačí na to znát příkaz SELECT, UPDATE, for, switch. Já na to teď čas nemám. Klidně mu vysvětlujte komplikovanější a sofistikovanější řešení, ale když není schopen pochopit ani tohle triviální, tak je to ztráta času.
Že má registraci děravou jsem mu taky psala s radou aby použil prepared statementy.
7. 5. 2014 10:42:13
https://webtrh.cz/diskuse/struktura-pyramidy-se-zaznacenim-id-toho-ktery-pozval-v-db-u-nove-registrovaneho/strana/2/#reply1020254
Pro odpověď se přihlašte.
Přihlásit