Kezdőoldal » Számítástechnika » Weblapkészítés » Mi lenne erre a normálisabb...

Mi lenne erre a normálisabb megoldás(PHP)?

Figyelt kérdés

Sziasztok!


Nem régen foglalkozom PHP-val és egy kis segítséget/tanácsot kérnék.

Azt szeretném hogy az oldalra való belépés után az 1-es csoport és a 2-es csoport más linket lásson. A linkek adatbázisban vannak. Úgy sikerült megcsinálnom hogy az adatbázisban benne van az hogy <a href="x.php">Link</a> és ezt result-al kiolvasom, és meg is jelenik ha belépek a felhasználókkal kinek kinek a saját linkje.


Azonban gondolom ez így nem túl jó megoldás. Hogyan lehetne ezt szebben megcsinálni?


2020. máj. 23. 20:02
 1/3 anonim ***** válasza:
100%

Ha a felhasználóhoz tartozik egy jogosultság, akkor a belépéskor ezt is tárold le a session-be. Ezt vissza tudod olvasni bármikor és egy adott rész megjelenítését ehhez a jogosultsághoz kösd.


Ez sem tökéletes megoldás, de kezdő szinten arra elég, hogy ismerkedj a session-ök használatával.


Ha komolyabban akarsz ezzel foglalkozni akkor pedig kezdj el utána olvasni a keretrendszereknek. Érdemes ilyen oldalt abban írni. (Role, Permission kulcsszavakkal bármelyik php keretrendszer esetén fogsz találni tutorial-t)

Normális esetben a felhasználók csoportokba vannak rendezve és a csoportokhoz jogosultságok vannak rendelve. A weboldalon pedig azt vizsgálod hogy az aktuális belépett felhasználónak van-e "post article" jogosultsága, tehát hozhat-e létre mondjuk cikket.

2020. máj. 23. 23:11
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:

Igen ez amit írtál megvan.

Egy admin felhasználó "csinálja" a linkeket és rendeli a megfelelő csoporthoz.

A kérdésem csak az hogy elég fapados módszerrel oldom meg hogy lássák a linket (a kérdés után részletezem). Mi lenne a jobb megoldás?

2020. máj. 24. 16:18
 3/3 anonim ***** válasza:
100%

Leírtam. :)

Az, hogy a jogosultságot tárolod adatbázisban és nem a linket.

Amennyiben megvan a jogosultság csak akkor jeleníted meg.


Fapadosan:

if($user->can("create post")) {

echo "Ezt csak a joggal rendelkező láthatja.";

}


De javaslom keretrendszer használatát, pl Laravel-ben van template engine (blade) amivel ez elég egyszerűen megoldható:

[link]

2020. máj. 24. 22:44
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!