Zadejte hledaný výraz...

prihlaseni uzivatelu na stranku

milda
verified
rating uzivatele
(1 hodnocení)
24. 11. 2010 23:50:43
Já bych v jedný tabulce neviděl takovej problém, ale to teď neřešme...
Co nějak takhle:
oprávnění:
1 - admin
2 - oblast morava
3 - oblast čechy
$maxOpravneni = 3;
if($uzivatel == 1) { // pokud jseš admin, vypiše se ti menu
// vypsat odkazy oblast2 -> zobrazit.php?oblast=2;
// vypsat odkazy oblast3 -> zobrazit.php?oblast=3;
}
elseif ($zaznam > 1 and $zaznam <= $maxOpravneni) { // jinak tě přesměruje podle oprávnění
presmeruj("zobrazit.php?oblast=$zaznam");
}
else {
// tohle by nemělo nastat - chybová hláška - neočekávané oprávnění
}
zobrazit.php
$oblast = intval($_GET);
if ( !($uzivatel == $oblast or $uzivatel == 1) ) { // pokud chceš něco, k čemu nemáš přístup
exit('Neoprávněný přístup');
}
switch($oblast) {
default:
case 1:
// tohle by nemělo nastat
exit('chybna oblast');
break;
case 2:
$oblast = 'Morava';
$tabulka = 'tabulka_morava';
break;
case 3:
$oblast = 'Čechy';
$tabulka = 'tabulka_cechy';
break;
}
$query = "SELECT * FROM $tabulka WHERE .....";
...
v obou skriptech předpokládám, že info o uživateli máš v $uzivatel (ať už z DB, nebo ze session)
je to jen hrubej nástřel v pseudokódu, ale mělo by to splňovat to co chceš....
24. 11. 2010 23:50:43
https://webtrh.cz/diskuse/prihlaseni-uzivatelu-na-stranku/strana/2#reply586564
palec76
verified
rating uzivatele
24. 11. 2010 23:55:36
takze podle tohoto uz bych si mohl vytvorit tech uzivatelu,kolik bych chtel,jak se tak divam...a ten prvni asik patri do loginu,ze?kde se kontroluje o jake opravneni jde?a ten druhy kod je az pak ve strance,kde vypisuji data?:) pokud to tak je,tak to zitra zkusim....zatim dekuju moc,myslim si,ze totouz je srozumitelne ve vsem
24. 11. 2010 23:55:36
https://webtrh.cz/diskuse/prihlaseni-uzivatelu-na-stranku/strana/2#reply586563
milda
verified
rating uzivatele
(1 hodnocení)
25. 11. 2010 00:23:14
jj, uživatelů tam můžeš mít kolik chceš, jedinej problém nastane, když bys chtěl aby někdo viděl třeba 2 oblasti - ale to si nechtěl...
Ještě malou poznámku - někde výš si psal, že do session ukládáš login, heslo,...
Já bych to spíš rozdělil tak, že v loginu ty data načtu z DB a pokud ty údaje sedí, uložím si je v nějakým poli do session. Třeba:
// data z DB jsou v $row
$_SESSION = array(
'login' => $row,
'opravneni' => $row,
'logged' => true;
)
a v těch ostatních stránkách bych na začátku dělal:
if (!isset($_SESSION) OR $_SESSION != true) {
// přesměrování na přihlašovací stránku - hláška nejste přihlášen
}
else {
$uzivatel = $_SESSION;
}
V obou samozdřejmě musí být session_start (a případně session_regenerate, nebo jak se to jmenuje), ale to určitě víš.
A abych nezapoměl - ten první kód (z předchozího příspěvku) bych asi necpal do loginu. Přece jen po každé akci (třeba přihlášení) by mělo následovat přesměrování, což by neplatilo v případě že jsi admin. Asi bych to nechal jako 3 skripty
- login
- rozcestnik
- zobrazení dat
Pokud ti mé vyčerpávající příspěvky pomohli, klikni mi na reputaci, ať mi tam pořád nesvítí nula :-)
25. 11. 2010 00:23:14
https://webtrh.cz/diskuse/prihlaseni-uzivatelu-na-stranku/strana/2#reply586562
Pro odpověď se přihlašte.
Přihlásit