Zdravím, potřeboval bych pomoci s PHP funkcí, která by uživatelovi s hodností "admin" zobrazila obsah ale uživateli "uživatel" ne. Jak to tedy myslím? Mám stránku na kterou se dostane jak admin tak uživatel, ale pak mám administraci a tam chci aby se dostal pouze admin. Může mi prosím někdo poradit, jak toho docílit v tomto scriptu?
user.php
Toto je celý script, který by mohl být nějak upravený. V config.yml mám ještě vytvoření třídy User. Následně pak ověřuji přístup na stránky pomocí "if(!$user->is_logged_in()){ header('Location: login.php'); }". V databázi mám hotovou tabulku s název hodnosti, tudíž zbývá jen vytvořit funkci. Bohužel se s tím piplám již druhým dnem, a nic není 100%. Proto bych poprosil vaší pomoc. Díky.
PHP - Admin/Uživatel, prostředí
PHP - Admin/Uživatel, prostředí
Naposledy upravil(a) MrFiliper dne 28 lis 2015 17:43, celkem upraveno 1 x.
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: PHP - Admin/Uživatel, prostředí
Vlastně is_logged_in je taky autorizace. Takže tu metodu prejmenuj a uprav aby kontrolovala jestli má uzivatel na tu stránku práva.
Udelej tu metodu tak, aby si ji mohl pouzit i na generování odkazů.
Udelej tu metodu tak, aby si ji mohl pouzit i na generování odkazů.
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Re: PHP - Admin/Uživatel, prostředí
Mohl by si mi ukázat kód, jak by to vypadalo? Hledal jsme na google, ale je to tam pokaždé nějak jinak.
Re: PHP - Admin/Uživatel, prostředí
S PDO jsem nikdy nedělal, takže je možné, že tam bude někde chyba, nicméně jediné, co Ty potřebuješ, je vytáhnout si z databáze tu hodnost podle nicku a tu pak porovnat.
tj. něco takového:
Ještě je možné, že budeš muset vyvolat execute, jak to máš nahoře, to fakt nevím, protože s PDO nedělám a ani jsem nedělal, tak si to musíš upravit - to samé, jako SQL dotaz, ale to snad zvládneš.
No a ty už pak jen tu metodu vyvoláš - pokud admin bude, navrátí to 1, pokud ne, 0. Takže v Tvém případu:
tj. něco takového:
Kód: Vybrat vše
public function is_user_admin($nick)
{
if ($this->is_logged_in())
{
try
{
$rank = $this->_db->prepare("SELECT sloupec pro název hodnosti FROM Tabulka WHERE podmínka = hodnota");
if ($rank == pozadovany rank)
{
return 1;
} else {
return 0;
}
} catch(PDOException $e)
{
echo '<p>'.$e->getMessage().'</p>';
}
}
}
Ještě je možné, že budeš muset vyvolat execute, jak to máš nahoře, to fakt nevím, protože s PDO nedělám a ani jsem nedělal, tak si to musíš upravit - to samé, jako SQL dotaz, ale to snad zvládneš.

No a ty už pak jen tu metodu vyvoláš - pokud admin bude, navrátí to 1, pokud ne, 0. Takže v Tvém případu:
Kód: Vybrat vše
if ($user->is_user_admin($_POST['nick'])
{
echo "Vítej, admine!";
} else {
echo "Nejste administrátor.";
}
Re: PHP - Admin/Uživatel, prostředí
Díky moc. Už mi to funguje 

-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
-
Převádění Dokumentu z MS Office do online prostředí
od zuzana3 » 10 dub 2025 13:00 » v Kancelářské balíky - 1
- 3656
-
od Gerete
Zobrazit poslední příspěvek
10 dub 2025 13:48
-
-
-
Jsem jediný uživatel PC, ale nemám oprávnění Správce!
od Minapark » 16 zář 2024 16:15 » v Windows 11, 10, 8... - 2
- 2996
-
od mmmartin
Zobrazit poslední příspěvek
21 zář 2024 10:40
-
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů