» »

Omejitev dostopa do raznih kategorij

Omejitev dostopa do raznih kategorij

Digo991 ::

Na forumu imam 10 različnih kategorij. Rad bi da do posamezne kategorije lahko dostopajo le določeni ljudje, ki imajo dovoljenje. Kako naj za vsako kategorijo posebej omejim dostop. V bazi podatkov imam vnešene kategorije, zraven pa stopnjo (1,2,3,...) za vsako kategorijo posebej. V drugi tabeli v bazi podatkov imam uporabnike, katerim določim "level" prav tako od 1-10. Se pravi moram narediti tako, da lahko dostopa do posamezne teme le tisti, od katerega stopnja kategorije in level se ujemata? Kako naj to napišem v PHP-ju?

Hvala za odgovor.
  • premaknil iz Loža: ahac ()

Baja ::

if ($categoryLevel == $userLevel){
  echo 'Access granted!';
} else {
  echo 'Access denied!';
}


drugače pa kateri forum uporabljas? mas svojega? userji so od foruma al so iz druge tabele? mal vec info, prosim.

ker pri vecini forumov lahko nastavis skupine uporabnikov in tem skupinam omejis dostop do dolocenih oddelkov

Zgodovina sprememb…

  • spremenil: Baja ()

Digo991 ::

Forum je popolnoma moj, celotna koda. Userji so do sedaj samo tisti, ki sem jih jaz registriral, ker je vse skupaj še v procesu izdelave. Vsi userji so shranjeni v tabeli.

probal sem že tako:

if ($_SESSION['stopnja'] != $_SESSION['vrsta'] === true) {
header ('Location: protected.php');
}
else {
header ('Location: (Tukaj nevem kaj bi dal, ker je vsakič druga kategorija lahko)');
}

vorantz ::

bol kot met samo 1 level bi blo bolše, da maš razne kategorije
v bazi:
user
kategorije
dostop - vmesna tabela z id userja in id kategorije

tako je dolgoročno precej bolše za razlišne kombinacije, ki jih samo z leveli ne boš mogel doseč
(razn če si 100% da boš vedno mel omejen dostop samo glede na nivo dostopa)

Digo991 ::

Za forum imam 7 različnih tabel v pgAdminu, tako da imam tudi eno tabelo v kateri so shranjene vse kategorije, ki jih vnesem preko PHP-ja. Kategorije bodo vedno omejene glede na vrsto userja, zato se mi zdi najbolj smiselno, da jih omejim po principu, ki sem ga zgoraj omenil. Ampak mi nikakor ne uspe...

vorantz ::

kako pa sploh izpišeš forum?
tisti tvoj if tam gor mi pravi, da delaš neki narobe

Digo991 ::

Kako to misliš, kako ga izpišem? Tudi meni pravi, da delam neki narobe, ker mi ne delaa :)

MrBrdo ::

if ($_SESSION['stopnja'] != $_SESSION['vrsta'] === true) {

fuuuuuj kako si pa na to prišel. kako ogabno!
MrBrdo

Digo991 ::

Maš kakšn boljši predlog?

MrBrdo ::

Am ja, recimo odstraniš === true? Zakaj si to sploh dal tja? Res mi ni jasno kako si sploh na to idejo lahko prišel.
MrBrdo

Digo991 ::

Ok. Sepravi kako naj to naredim? Koda izgleda tako:

if ($_SESSION['stopnja'] != $_SESSION['vrsta']) {
header ('Location: protected.php');
}
else {
header ('Location: (Tukaj nevem kaj bi dal, ker je vsakič druga kategorija)');
}

Ker je pač lahko neomejeno število kategorij, nevem kam naj bi redirectal s headerjem, v primeru da se stopnja in vrsta ujemata in uporabnik lahko dostopa do izbrane kategorije.

MrBrdo ::

pač prikažeš artikle če ma pravice za dostop, ne vem zakaj bi presumerjal...
MrBrdo

Digo991 ::

Če bi vedel kako to narediti, bi imel že narejeno in nebi spraševal na forumu.

vorantz ::

usedi se in na roko napiši v html kako bo zgledal ta tvoj forum
potem ugotovi, da se stvari ponavljajo in bi jih lahko v for zanki recimo izpisoval s php

MrBrdo ::

Digo991 hočem ti povedat, da preusmeritev rabiš izvajat samo če uporabnik nima pravice za dostop. V kolikor ima pravice ne narediš nič, ampak normalno naprej prikažeš stran. Torej tisti else del odpade... V nadaljevanju kode enostavno prikažeš rezultate oz. karkoli že.
MrBrdo

Digo991 ::

MrBrdo hvala za pomoč.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[PHP] Seje

Oddelek: Programiranje
5735 (638) Pimoz
»

PHP - header : javi napako

Oddelek: Izdelava spletišč
61306 (1261) Camel
»

Vpis na stran samo za določene IP-je

Oddelek: Programiranje
17886 (689) Digo991
»

[php, mysql] sortiranje izpisa iz baze

Oddelek: Izdelava spletišč
262663 (2182) Binji
»

unset cookie

Oddelek: Izdelava spletišč
221858 (1665) tomitza

Več podobnih tem