Új hozzászólás Aktív témák
-
trisztan94
őstag
Igazából én sem értem a leányzót, szoftver/játékdesigner akar lenni és ezt egy " alapnak" akarta, de tovább nem akarja. Hát nekem konkrétan kb egy hete szólt, hogy kéne.. Úgy hogy htmlen kívül semmi sem volt benne. Most vagy meglesz, vagy nem, korábban szólhatott volna
A sulit majd megkérdezem
[ Szerkesztve ]
https://heureka-kreativ.hu
-
Soak
veterán
Ha van egy képem és ahhoz szeretnék tagokat rendelni akkor mi a leghatékonyabb megoldás? Létrehozok MySQL-ben egy táblát a tageknek és minden képnél beleírom, hogy milyen tag-je van? Így a user nem igazán tud új tageket kitalálni (vagy ez nem is baj?) . Maga a koncepció nem állt még össze bennem . Vagy létrehozok egy tag oszlopot a fotók táblában és vesszővel elválasztva (nyilván a usert kényszerítve erre) text-ként (pl: tag1, tag2, tag3) beleírom, majd egyszerűen kiiratom? Így viszont, hogyan oldom meg azt, hogy a keresőbotok is lássák? Vagy ez nem probléma? (nem vagyok 100%ig tisztában a müködésükkel)
-
Speeedfire
nagyúr
Létrehozol egy tag táblát, amiben lesz egy id, egy képid, meg a tag neve. Amikor a képet megjeleníted, akkor pedig azokat a tag-eket kéred le, ahol a képid megegyezik.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
válasz Speeedfire #10703 üzenetére
Ennél még egy fokkal szebben kellene (de ez még így is egy egyszerű megoldás):
lehetne egy tag tábla, egy képeket nyilvántartó tábla, plusz egy összekapcsoló tábla;
tag táblában: tag id, tag neve
kép táblában: kép id, kép elérési útja, stb.
összekapcsoló táblában: tag id, kép id
Ahhoz meg persze megint külön összekapcsoló táblák kellenek, hogy jelezzük, hogy milyen cikkekhez kapcsolódnak a tagek. Hasonló módon mondjuk cikk id, tag id.
Inkább érdemes több táblát létrehozni, hogy szét legyen választva az, ami logika szerint nem feltétlenül kapcsolódik egymáshoz szorosan.Ennek megvan az az előnye, hogy akár több kép is tartozhat egy taghez. Meg így lazább kapcsolatot teremt a kettő között.
Ezenkívül olyan elképzelés is szóba jöhet, hogy minden tagnek van egy "szülője", ami azt jelzi, hogy milyen kategórián belüli tagekről van szó. Ilyenkor a hierarchia nyilvántartásához össze kell kapcsolni az id-kat egy külön táblában (tag id, parent tag id).
Többnyelvűségnél kicsit tovább is érdemes bonyolítani, hogy magát a fordításokat ismét külön táblában tároljuk, és a taghez legfeljebb fordítási "csomópontot" tárolunk (pl. Drupal is így csinálja).=============
(#10702) Soak :
soha ne tárolj vesszővel elválasztott módon különálló kifejezéseket, mert iszonyatosan kényelmetlen lesz módosítani, törölni is, a query-k is lassúak lesznek, plusz nagyon nehéz a táblákban így keresni. Inkább a fentiekhez hasonló megoldást alkalmazz.
A query-k megírásában meg segítünk, ha elakadtál![ Szerkesztve ]
Sk8erPeter
-
Soak
veterán
válasz Speeedfire #10703 üzenetére
Ez azt jelenti, hogy ha lesz 10 képem , mindegyik 10 tag-el akkor lesz 100 sorom abban a táblában. Nem fog ez elszállni egy idő után? Nem tudom mi számít soknak, de ha 5.000 user feltölt csak 5 képet és mindegyiken van 5 tag az 125.000 sor. És 5.000 user az nagyon kevés.
Sk8erPeter : És az összekapcsoló táblában úgy gondolod, hogy a két id az foregin key lenne, updatelve? Tehát ha törlök egy taget akkor tölődik a kapcsolat, plusz ha egy képet akkor is. Kicsit jobban rendbe tartja magát.
[ Szerkesztve ]
-
-
Soak
veterán
válasz Sk8erPeter #10706 üzenetére
Elszállnit nem úgy értettem, hogy megszűnik létezni, hanem a növekedés során már egy sima SELECT is sok ideig fog tartani mondjuk 1,5M sornál.
-
Lacces
őstag
Hali!
Van-e arra lehetőség, hogy 2 timestamp - ha a 2 következő az - között időkülönbséget megállíptsam?
1344376800 1347141600
Azt szeretném, hogy e kettőt kivonva egymásból, évre, hónapra, napra jelenítse meg az időkülönbséget.
-
-
Speeedfire
nagyúr
válasz Sk8erPeter #10704 üzenetére
Igen, ez még jobb megoldás. Egy jól összerakott mysql sokat dob a teljesítményen.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
MODERÁTOR
válasz Speeedfire #10713 üzenetére
Many-to-many, ahogy javasolták! Eleinte nehéz volt (legalábbis nekem a megértése), de nagyon is jó!
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
sztanozs
veterán
--- bad place ---
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
CSorBA
őstag
válasz Sk8erPeter #10679 üzenetére
Ez jó ötlet! Annál is inkább, mivel value mezőben w3 szerint nem jó a [] Szóval most a következő ötlet, hogy városok két betűs kódok, ország 3 betűs. És ez alapján már különbséget is tudok tenni. Annyi a hátránya, h. figyelni kell rá város és ország felvitelekor, h. nehogy olyanba fussak, ami már foglalt.
-
trisztan94
őstag
válasz CSorBA #10717 üzenetére
Jóestét!
Php-val lehet valahogy eseményt kezelni? Végülis egy alap online chatre gondoltam, még nem kezdtem el, csak így kigondolom előbb.Szóval a lényeg az, hogy lenne egy input text, felette meg egy chat div és egy küldés button.
Felhasználóka beírja a szöveget, megnyomja a gombot(vagy enter) és beilleszti a chat divbe. Tudom, hogy jquery-vel is meglehetne (sőt, azzal meg is van kb, hogy hogy lenne ), de menteni nem tudom, hogy hogy tudnám a beszélgetést, úgy értve, hogy ha kilép és visszajön, akkor, mint a facebook chat pl., mutatja az előzményeket.Szóval tömören:
Php-ban lehet hivatkozni egy clickre vagy megoldani valahogy?Köszönöm!
Most látom, hogy véletlenül választ írtam CSorBA kollégának
Bocsánat[ Szerkesztve ]
https://heureka-kreativ.hu
-
Soak
veterán
válasz trisztan94 #10718 üzenetére
Végülis lehet ilyet csinálni php-vel, csak sok értelme nincsen. Mivel a php-vel nem tudod a html-t változtatni miután betöltött ezért állandoan refreshelni kéne. Ajaxal kell megcsinálni és akkor rendesen chatként üzemel. Egy sima üzenetküldő alkalmazást viszont teljesen jól meg lehet csinálni csak php-vel (ugy értem, hogy nem folyamatos kapcsolatban vannak a felek, hanem e-mail szerüen).
-
trisztan94
őstag
Rendes chatet szeretnék.
Tehát akkor lehet eseményt kezelni vele. Hogy néz az ki kb?
Ajaxxal úgy kéne, hogy újratöltse azt a divet minden x mp-ben, nem?A naplózást úgy megoldhatom, hogy egy txt fájlba mentem? Esetleg csak jQueryvel? Lehet egyáltalán menteni fájlba azzal?
[ Szerkesztve ]
https://heureka-kreativ.hu
-
Soak
veterán
válasz trisztan94 #10720 üzenetére
javascriptel nem tudsz filet írni vagy módosítani. Php-vel meg tudod ezt csinálni, de nagyon macerás egy txt fileból chat ablakot generálni. Egyszerűen csinálsz mysql-ben egy táblát, lesz benne id,sender_id,receiver_id,body,date , innen tudod kinek mit kell kilistázn.
Szerk: Biztos sokféleképpen meg lehet oldani ajax-al, de ezt majd mások kifejtik neked, én még nem használtam élesbe ajaxot.
[ Szerkesztve ]
-
Sk8erPeter
nagyúr
válasz trisztan94 #10720 üzenetére
Ha ezt nem gyakorlásnak szánod, hanem éles oldalra kéne, akkor semmiképp ne próbálkozz saját megoldásokkal, a chat kialakítása nagyon nem kezdőfeladat. Rengeteg PHP+MySQL+AJAX-alapú, kész megoldás van ilyenre.
Sk8erPeter
-
trisztan94
őstag
válasz Sk8erPeter #10723 üzenetére
Igazából ez egy ilyen "gyakorlóoldal" lenne, amin gyakorlom a cuccokat, hibáimból tanulok stb Kb mindent belenyomok ami így kellhet, telekommentezem (azokat is, hogy mi a hiba, mit nem szabad), magamtól csinálom és akkor majd ha épp kell majd egy olyan, akkor van egy referencia. Nem állapot az, hogy van egy melóm akkor olyan alap dolgokról kérek segítséget mint pl. egy form validation
Apropó:
Termékek kivannak listázva egy táblázatban és van egy törlés gomb. Hogyha annak az urljét xxx.php?p=delete_$id állítom, akkor POST-tal az id-t visszakapom és adatbázisból tudom törölni, nem?Amúgy tényleg nagyon hálás vagyok nektek a sok segítségért
https://heureka-kreativ.hu
-
fordfairlane
veterán
válasz trisztan94 #10724 üzenetére
Hogyha annak az urljét xxx.php?p=delete_$id állítom, akkor POST-tal az id-t visszakapom és adatbázisból tudom törölni, nem?
Nem posttal, hanem gettel kapod meg, a $_GET['p'] értéke 'delete_1234' lesz.
x gon' give it to ya
-
trisztan94
őstag
-
Soak
veterán
válasz trisztan94 #10724 üzenetére
Szerintem inkább POST-al csináld a form-os dolgokat (mármint ha jól értem, hogy mit szeretnél itt csinálni), sokkal egyszerűbb karbantartani a form hidden field-jeit mint a linket bogarászni.
-
Sk8erPeter
nagyúr
válasz trisztan94 #10724 üzenetére
Ja hogy gyakorlás céljára lenne, akkor az más.
Chat kialakítása előtt érdemes rendesen megtanulni a formkezelést, validálást, adatok adatbázisba való feltöltését - tehát eddig csak PHP-ról, MySQL-ről beszéltünk, ezek elengedhetetlen alapok. Tudd, hogyan kell megjeleníteni az adatbázisba feltöltött tartalmakat (ne használj mysql_*-jellegű függvényeket, hanem PDO-t; erről Tele von Zsinór kolléga belinkelte korábban az elég tömör, de érthető és hasznos cikkét: [link]), kombináld a lekéréseket, kapcsolj össze táblákat (egyáltalán tudd, mi értelme van a táblakapcsolásoknak), stb.
Aztán kezdd el a JavaScript-alapokat, változtatgasd az oldalon megjelenő tartalmakat, színüket, betűtípusokat, stb., validálj formokat kliensoldalon, és hasonlók; majd jöhet egy hasznos JavaScript-library, mint a jQuery és társai, sajátítsd el ennek a szintaktikáját, és ha ez is megvan, akkor próbáld ki az AJAX-függvényeket (pl. kezdésnek elég jó példa lehet, hogy .load()-dal milyen egyszerű külső fájlokat betölteni, jó a leírás is hozzá), majd ezen keresztül próbálj meg adatbázisba feltölteni, adatbázisból lekérni, stb.Szerintem csak mindezen alapok elsajátítása után van értelme egyáltalán nekikezdeni egy PHP+MySQL+AJAX-alapú csetalkalmazás elkészítésének.
Sk8erPeter
-
Lacces
őstag
Sziasztok Mesterek,
Van értelme PHP keretrendszernél Test-eléssel foglalkozni? De elég f***... engem 1 órája szívat a rendszer... phpunit-ot kellene felraknom, hogy működjön a test-elés yii-nél. De isten igazából, kijavítok egy hibát..., mindjárt dob egy másikat, hogy most ezért és azért nem tudom felrakni, hogy még ez meg amaz kell... és már nagyon unom. Linuxon csak a macera megy.
"sudo pear install phpunit/phpunit_selenium
phpunit/PHPUnit_Selenium requires PHP extension "curl"" - phpunit_seleniumot kellene felrakni... curl-t nagyon szeretné, csak az a baj, hogy az már fent van, apache is újraindult gép is, szal most egyelőre lábon vagyok lőve.Vagy lehet Windowson kellene Xamppal csinálni?
- Ok már működik. Más paranccsal is fel raktam fel a curl-t
[ Szerkesztve ]
-
Soak
veterán
Az megfelelő, ha a feltölthető file kiterjesztéseket úgy szabályozom, hogy a $_FILES['type']-ot ellenörzöm?
-
Soak
veterán
válasz Sk8erPeter #10732 üzenetére
Sejtettem.
Más : Ha egy create() funkcióm ezt adja vissza PDO::lastInsertId , akkor az minden esetben az lesz amit a create() létrehozott? (nyilván egy insert volt) . Vagy létezhet olyan, hogy pont úgy tölt fel két user képet , ami időben olyan közel lesz, hogy nem a megfelelőt kapom vissza?
-
cucka
addikt
Vagy létezhet olyan, hogy pont úgy tölt fel két user képet , ami időben olyan közel lesz, hogy nem a megfelelőt kapom vissza?
Két júzer egy időben az két adatbázis kapcsolatot jelent, a last_insert_id ezt figyelembe véve működik, tehát nem fog előfordulni az eset, amiről írsz.
Permanens kapcsolatok esetén viszont jó kérdés, hogy meg van-e ez ugyanígy oldva, valaki felvilágosíthatna engem is .[ Szerkesztve ]
-
Soak
veterán
Köszönöm, sejtettem, hogy ez a válasz, de nem akartam ezzel szívni késöbb.
-
-
trisztan94
őstag
válasz Sk8erPeter #10728 üzenetére
Hát nem kevés dolog az biztos
Tanulgatom majd, köszönöm a tanácsothttps://heureka-kreativ.hu
-
trisztan94
őstag
Sziasztok!
Lehet Url-be (hogy később $_GET-tel visszakérhető legyen) mást írni, mint ?p=változó?
Szóval ha pl törölni akarok akkor ?torol = id, ha admin jogot adni, akkor ?admin= id és akkor így nézne ki? $változó = $_GET['torol'] ?
Ha nem, akkor hogy lehet megkülönböztetni, hogy melyik elemről jött a katt?Most így néz ki a cucc:
if(isset($_GET['p']))
{
require 'db.php';
$torolid = $_GET['p'];
if(is_numeric($torolid))
{
$qry = "DELETE FROM `ruhak` WHERE id = '$torolid'";
}
else
{
$preqry = "SELECT `admin` FROM `members` WHERE username='$torolid'";
$presql = mysql_query($preqry);
$mutatsd = mysql_fetch_array($presql);
if ($mutatsd['admin'] == 0)
{
$qry = "UPDATE `members` SET `admin`='1' WHERE username='$torolid'";
}
else if($mutatsd['admin'] == 1)
{
$qry = "UPDATE `members` SET `admin`='0' WHERE username='$torolid'";
}
}
$sql = mysql_query($qry);
}Az első, az terméket töröl, ott id-t keresem vissza, ha nem szám akkor megy le, akkor adminjogot ad, azt username szerint módosítom. Na most már csak egy törlés kéne felhasználóknak, azt hogy kéne? Tudom, hogy nagyon hülyén oldottam meg, de legalább az egészet magamtól írtam
[ Szerkesztve ]
https://heureka-kreativ.hu
-
Soak
veterán
válasz trisztan94 #10739 üzenetére
A $_GET hasznalatat jol gondolod, viszont nem csinaltad meg azokat a biztonsagi elovigyazatossagokat amikrol beszeltunk. Hatalmas biztonsagi res tatong igy, ha ellenorizetlenul teszed be a valtozo erteket az adatbazis kodjaba.
-
trisztan94
őstag
Tudom, tudom, majd átírom PDO-ra, meg nyílván vigyázok ilyenekre csak (mivel amúgy sincs publikálva az oldal) mivel még az elején tartok, előbb megírom az alapját, aztán ha minden kész csinálom a security-t. Vagy ez így hülyeség?
Vissza a témához:
Szóval így mennie kéne a $_GET-nek? Mert adtam ugye valamilyen változónak a $_GET['torol'] értéket, kiprinteltem és semmit sem mutatott
Így volt a hívás:
<a href='?torol=$user'>Törlés</a>
Ez egy Ajaxolt oldalon volt, szóval az index.php kapja azt, hogy index.php?torol=admin most pl.
És a php az akkor ugye oda van írva, az meg most jelen pillanatban így néz ki:
$valtozo = $_GET['torol'];
print ($valtozo);De semmit nem ír ki.
Szerk:
Beraktam a mysql törlést is, de nem törli:
$torlesnev = $_GET['torol'];
$torles = mysql_query("DELETE FROM `members` WHERE username='$torlesnev'");[ Szerkesztve ]
https://heureka-kreativ.hu
-
Soak
veterán
válasz trisztan94 #10741 üzenetére
Teljesen hulyeseg, mert 2szer kell megcsinalni ugyanazt a munkat es tuti lesz egy hely ahol rosszul fog maradni, foleg ha bonyolultabb lesz az oldalad.
Csinalj ket test oldalt es kozottuk vizsgald meg a get-et, AJAX nelkul, ha ugy megy akkor mashol van a gond.
szerk : <a href='?torol=$user'>Törlés</a> ugye a valtozot php tagek koze raktad?!
[ Szerkesztve ]
-
trisztan94
őstag
De a többi GET az megy, de csak ?p=valami-vel. Adminjog adás, Terméktörlés, mind ugyanígy van (?p=valami-vel) és ezek is ugyanúgy ajaxolva vannak és ugyanúgy az index.php-ben vannak a php-k.
így van az <a>
echo "<center>";
echo "<table border='1' style='margin-bottom: 10px;'";
echo "<tr><th width='25'>Id</th><th width='200'>Felhasználónév</th><th width='100'>Admin Jog</th><th width='150' align='center'>Változtatás</th><th width='100' align='center'>Törlés</th></tr>";
echo "<tr><td align='center' width='25'>$id</td><td width='200' align='center'>$user</td><td width='100' align='center'>$adminnev<br/>
</td>". $adjadmin . "<td width='100' align='center'><a class='torles' href='?torol=$user'>Törlés</a></td></tr>";
echo "</table></center>";A legalja, de azért beraktam az egészet
Szerk:
Megjelenik az index.php-ben amúgy az a-nak a cucca.
Szóval, most ha rákattintok arra a felhasználónak a törlésére, hogy pl: eveke, akkor kidobja azt, hogy: index.php?torol=eveke, szóval mindenképp a php nem jó. De, mint feljebb is írtam ?p=eveke-vel pl az adminjog adás megy. Az első kérdésemben benne van, hogy az hogy van megoldva.Akkor majd erre figyelek, ez igazából csak gyakorlás, de majd ha legközelebb nekikezdek valaminek, mindenképp max security-s lesz, hogy megszokjam
[ Szerkesztve ]
https://heureka-kreativ.hu
-
Sk8erPeter
nagyúr
válasz trisztan94 #10739 üzenetére
"Lehet Url-be (hogy később $_GET-tel visszakérhető legyen) mást írni, mint ?p=változó?"
Azt írhatsz a címbe, amit csak szeretnél. A $_GET tömbben meg fogod kapni, ha helyesen használod, tehát ?kulcs=érték&másikkulcs=másikérték&harmadikkulcs=harmadikérték formában.
Ha ez a cím:
http://example.com/index.php?kutyafule=123&gyumolcs=alma&azonosito=543&tokmindegy=blablaakkor a $_GET tömb így fog kinézni:
array (
'kutyafule' => '123',
'gyumolcs' => 'alma',
'azonosito' => '543',
'tokmindegy' => 'blabla',
);Tehát a $_GET['kutyafule'] értéke '123' lesz, a $_GET['gyumolcs'] értéke 'alma', és így tovább. Az &-jellel addig bővítheted ezt a címet, amíg a böngésződ vagy a szerver kezelni tudja.
(Arra figyelj, hogy az &-jel HTML-beli megfelelője az & --> ezt kell írni tehát a HTML-kódokba, ha azt szeretnéd, hogy valid legyen validator.w3.org szerint (ez ilyen esetekben érdekes pl.: <a href="/alkonyvtar/index.php?kutyafule=98324&tokmindegy=blabla</a>, így lesz valid); de ha mondjuk PHP-vel átirányítasz egy címre, amiben használod az &-jelet, akkor a simát használd.)
Tehát az általad használt 'p' nem egy mágikus valami, az annyit jelent, hogy valszeg így hívtad meg a címet: http://example.com/index.php?p=ASD, de ez nyugodtan lehetne http://example.com/index.php?page=ASD, és így tovább.Az általad mutatott kódrészletben a feladatokat viszont lehetőleg teljesen válaszd szét, mert tök más a teendő, mégis azonos nevű változókat használsz logikátlanul - pl. a "SELECT `admin` FROM `members` WHERE username='$torolid'", query-ben a $torolid változónévnek semmi értelme, mert ezzel nem törölsz semmit, aztán az ezután lévő UPDATE-ben sem törölsz semmit, tehát a $torolid változónév megint indokolatlan.
Remélem a fenti példa érthető.
====
Biztonság: ahogy Soak is mondta, semmi értelme először rosszul megírni a query-ket, és aztán a kész változatot majd javítgatni, mert csak szopatod magad vele. Tényleg olyan helyeken is bent maradhat, amit már totál elfelejtettél, és akkor majd a felhasználód fogja szidni a zzzanyádat.
Másik, fontosabb szempont: biztonság. Harmadik: ha eleve jól kódolsz, akkor azt is szokod meg. Ha rosszul kódolsz, akkor meg azt.[ Szerkesztve ]
Sk8erPeter
-
trisztan94
őstag
válasz Sk8erPeter #10744 üzenetére
Na, így már értem Nagyon-nagyon-nagyon szépen köszönöm!
A változók ott tényleg elég hülyén vannak megoldva, rossz szokásom, hogy lusta vagyok több változót csinálni és így inkább "újrafelhasználok" eggyet. Majd megpróbálom ezt kiölni magamból
A biztonsággal kapcs:
Mindenképp úgy fogok, tényleg hülyeség így belegondolva amit kigondoltamNagyon szépen köszönöm a tanácsokat / javításokat !
https://heureka-kreativ.hu
-
Sk8erPeter
nagyúr
-
Lacces
őstag
Sziasztok!
Lehet, másik fórumba kellene írni... ha igen szóljaok melyik
Yii-sek, tapasztalt programozók előnyben a következő kérdésemnél.
Yii-nél találtam cikket az RBAC-ról, amely nagyon megtetszett, és elgondolkoztam ezen az egész szisztémán. Lehet más frameworknél is van ilyen, nem tudomSzeretnék egy hobbi / tanuló oldalt Yii-ben. Plusz ez jó alapnak is, meg lehet majd később megy ki élesben is. Tervezéshez szeretnék véleményt kérni.
Ami most fontos, a következő felhasználói csoportok lennének a hirdető oldalon.
Vannak:
- vendégek
- tagok (regisztráltak)
- hirdetők (regisztrált, plusz hirdetéssel rendelkezik)
- adminA felhasználó (user) táblában lennének tárolva a felhasználók (kivéve vendég), és egy külön oszlopban jelezném a felhasználó típusát(admin, hirdető, tag). A tag, lehet hirdető is. A hirdető láthatja a hirdetőknek szoló menüpontokat, illetve csak a saját hirdetését szerkesztheti. Az admin pedig az Isten.
Igazság szerint én magam sem tudom, hogy hogyan kéne ezt jól megcsinálni... Valamilyen szinten, értem, de lehet túl bonyolítanám.
Én ötletem az, hogy mivel van ez az RBAC (szerepköröket rendelek a felhasználókhoz) ezt szeretném be integrálni is a webalkalmazásba.Szerepkörök segítségével a hirdetőhöz hozzárendelem, hogy ő a hirdetők menüpontokat láthatja, a vendég, tagok nem, illetve hirdetést szerkeszthet! (ezek általános szerepkörök). Ez még okés.
Viszont, leszeretném korlátozni, hogy mindenki csak a saját hirdetését tudja szerkeszteni. Én arra gondoltam, hogy létrehozók egy kapcsoló táblát, ahol tárolom a a felhasználó_id-t és a hirdetés_id-t, és akkor tudja a saját hirdetését szerkeszteni, ha ebben a kapcsoló táblában benne van az id-ja, a hirdetés id, illetve, hozzátartozik a hirdető szerepkör is!Vagy ez már biztonságilag túl van bonyolitva? Esetleg csak elég annyi, hogy az a felhasználó tudja szerkeszteni a hirdetést, aki benne van abban a kapcsoló táblában. (user_id + hirdetés_id), és ezt a hirdető szerepkört itt ne figyeljem.
-
Lacces
őstag
válasz Lacces #10747 üzenetére
Esetleg a mögötte lévő adatbázist megérteni segíti a következő hsz-em:
http://prohardver.hu/tema/sql-kerdes/hsz_1353-1353.html -
Cathfaern
nagyúr
válasz Lacces #10747 üzenetére
Szerepkörnek ott van jelentősége, amikor a felhasználókat valamilyen csoportba szeretnéd rendezni. Például az teljesen jó ötlet, hogy a hirdetők legyen egy szerepkör, és csak ezen szerepkörbe tartozók láthassák a hirdetőknek szóló menüket.
De a szerkesztést ezzel nem tudod megoldani, mivel ott egyedileg kell figyelni a dolgokat. Szerintem a legegyszerűbb, hogy mivel egy hirdetéshez mindenképp csak egy hirdető tartozhat (ha jól értem nincs olyan, hogy egy hirdetést több hirdető kezel), ezért egyszerűen a hirdetésbe mentsd bele a hirdető ID-ját, és csak ezen ID-jú felhasználónak engedd szerkeszteni. És akkor nem kell külön kapcsoló tábla -
Lacces
őstag
válasz Cathfaern #10749 üzenetére
Lehet butaságot kérdezek vissza, de inkább most a tervezésnél kérdezem meg .
Igen, 1 hirdetőhöz, 1 hirdetés tartozna.
Vagyis akkor a hirdetést úgy engedjem szerkeszteni egy felhasználónak, hogy csak szimplán lekérdezem az adatbázisból: A hirdetőtáblából lekérdezem azt a hirdetést, amihez tartozik az adott ID-jú felhasználó és kész, nem kell ezt tovább bonyolítani.
és köszönöm a választ!
Új hozzászólás Aktív témák
- Intel gyári processzor hűtő 1150, 1151, 1155, 1156
- MSI Brutál Magyar Gamer Laptop 240Hz i7 9750H 32GB DDR4 Új 1TB NVMe SSD RTX 2070 8GB GDDR6 Doboz
- CAM Totus FE 40615+2851 tetőcsomagtartó zárkészlettel
- ESI Audiotrak Dr. DAC nano (DAC/fejhallgató erősítő/USB-Toslink bridge)+a képen látható kiegészítők
- Új Nitril többször használható gumikesztyű védőkesztyű szövet bevonattal.
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen