PHP - Admin/Uživatel, prostředí

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

MrFiliper
Level 1
Level 1
Příspěvky: 63
Registrován: březen 15
Pohlaví: Muž
Stav:
Offline

PHP - Admin/Uživatel, prostředí

Příspěvekod MrFiliper » 15 říj 2015 19:03

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.
Naposledy upravil(a) MrFiliper dne 28 lis 2015 17:43, celkem upraveno 1 x.

Reklama
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: PHP - Admin/Uživatel, prostředí

Příspěvekod CZechBoY » 16 říj 2015 22:02

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ů.
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

MrFiliper
Level 1
Level 1
Příspěvky: 63
Registrován: březen 15
Pohlaví: Muž
Stav:
Offline

Re: PHP - Admin/Uživatel, prostředí

Příspěvekod MrFiliper » 17 říj 2015 19:21

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.

Uživatelský avatar
lucAss
Level 2
Level 2
Příspěvky: 163
Registrován: březen 12
Pohlaví: Nespecifikováno
Stav:
Offline

Re: PHP - Admin/Uživatel, prostředí

Příspěvekod lucAss » 20 říj 2015 17:26

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:

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š. :D
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.";

MrFiliper
Level 1
Level 1
Příspěvky: 63
Registrován: březen 15
Pohlaví: Muž
Stav:
Offline

Re: PHP - Admin/Uživatel, prostředí

Příspěvekod MrFiliper » 21 říj 2015 22:59

Díky moc. Už mi to funguje ;)


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

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ů