IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

4. diel - Programujeme neobjektové redakčný systém v PHP (Ners)

V minulej lekcii, Formulár a výpis dát z databázy do tabuľky v PHP , sme dokončili jednoduchú aplikáciu k registrácii a výpisu užívateľov. Úplné základy práce s databázu teda už ovládame a nič nám nebráni k tomu, aby sme si naprogramovali plnohodnotný redakčný systém v PHP.

Ners

V niekoľkých málo dieloch vytvoríme systém, pomocou ktorého sa budeme môcť na náš web prihlasovať a nahrávať na neho články pomocou editora. Systém som pomenoval Ners (neobjektové Redakčný systém). Má tieto atribúty:

  • Celý systém je napísaný len základnými PHP funkciami, teda bez objektov a bez šablón. Jedinou výnimkou je databázový wrapper, bez ktorého sa bohužiaľ nezaobídeme.
  • Celý systém je obsiahnutý len v 6tich PHP súboroch
  • Dĺžka žiadneho súboru systému nepresahuje 100 riadkov. (Asi o 5 riadkov je dlhší len editor.php, kde som nechal nejaké medzery kvôli prehľadnosti).
  • Systém stihneme vytvoriť veľmi rýchlo a to iba v štyroch tutoriáloch
  • Systém obsahuje užívateľské role, registráciu, prihlasovanie, výpis článkov a interaktívne editor článkov

Systém bol napísaný tak, aby ho mohol používať a rozširovať ktokoľvek bez ohľadu na jeho znalosti PHP. Bez objektov, knižníc a všetkého ďalšieho sa obišiel vďaka kompromisom, zjednodušením a minimálnym požiadavkám. Systém nie je určený pre vážne projekty a neukazuje, ako sa v PHP správne programujú informačné systémy. Ukazuje, ako možno čo najjednoduchšie dosiahnuť požadovaný výsledok. Pre vážne informačné systémy musíte použiť MVC framework. Na ITnetworku je na túto tému veľa pokročilých seriálov a materiálov.

Príprava projektu

Než začneme programovať PHP skripty, pripravíme si layout stránky a databázovú štruktúru.

Layout

Najprv budeme potrebovať nejaký layout (HTML kostru), do ktorého doprogramujeme pomocou PHP požadované funkcie. Určite ho nebudeme tvoriť od znova, ale vypožičiame si ho z miestneho ukážkového webe od Honzu Bittnera. V seriáli Webové stránky krok za krokom si otvoríte posledný diel a kompletné web si stiahnite a prezrite. Ak čomukoľvek nerozumiete, v seriáli nájdete detailný vysvetlenie každej časti. Web je len čisté HTML, takže by ste s ním nemali mať problém.

HoBiho web v HTML a CSS - Databázy v PHP pre začiatočníkov

Založte si nový PHP projekt a presuňte do neho obsah archívu s HoBiho webom. Všetky HTML stránky z neho odstráňte, nebudeme ich potrebovať.

Databázy

Do projektu si vložte náš wrapper Db.php (k stiahnutiu v 2. dielu tohto seriálu).

Prejdite do PHPMyAdmin a vytvorte si nejakú novú databázu, ja si ju pomenoval ners_db. Nezabudnite nastaviť porovnávanie na utf8_czech_ci.

Vytvorenie databázy v phpMyAdmin - Databázy v PHP pre začiatočníkov

Databázu si otvoríte. Teraz si vytvoríme tabuľky, budú len dve.

Užívatelia

Vytvorte si novú tabuľku uzivatele. Bude mať spolu 4 stĺpce (polia):

  • uzivatele_id - typ int - primárny kľúč, autoincrement
  • jmeno - typ varchar - dĺžka 255
  • heslo - typ varcha - dĺžka 255
  • admin - typ int, predvolené: 0 (vyberte možnosť "Podľa zadania" a potom zadajte 0, viď obrázok nižšie)

Stĺpec admin určuje či je používateľ administrátor (0/1).

Naklikaná tabuľka by mala vyzerať takto:

Vytvorenie tabuľky užívateľov v phpMyAdmin - Databázy v PHP pre začiatočníkov

(Nezabudnite na primárny kľúč a AI u polia uzivatele_id. Na screenshotu to nie je vidieť)

Uložíme tlačidlom Uložiť nižšie.

Články

Pridáme ešte tabuľku clanky. Tá bude obsahovať 6 stĺpcov (polí).

  • clanky_id - typ int - primárny kľúč, autoincreament
  • titulok - typ varchar - dĺžka 255
  • obsah - typ text
  • url - varchar - dĺžka 255
  • popis - varchar - dĺžka 255
  • klicova_slova - varchar - dĺžka 255

Naklikaná tabuľka:

Vytvorenie tabuľky článkov v phpMyAdmin - Databázy v PHP pre začiatočníkov

(Opäť nezabudnite na primárny kľúč a autoinkrementácie u polia clanky_id)

Stĺpec URL je url adresa, cez ktorú budeme k článku pristupovať. Napr. pre článok s titulkom "Úvodná článok" by URL mohlo vypísať ako "uvodni-clanek". Niektoré systémy články zobrazujú len podľa číselného ID, čo je však nepríjemné ako pre užívateľov, tak pre vyhľadávače. Pre text článku zvolíme dátový typ text, varchar je vhodný najmä pre kratšie texty.

Potvrdíme tlačidlom Uložiť. Teraz máme všetko pripravené pre to, aby sme sa pustili do samotných PHP skriptov.

PHP skript

PHP skriptov bude teda celkom 6. Každý skript bude rozdelený na 2 časti. V prvej polovici bude PHP blok s obsluhou, v druhej polovici bude HTML kód so stránkou a nejakú prímesí PHP kódu s výpisom výstupu obsluhy. Tieto 2 časti sa v aplikácii väčšinou striktne oddeľujú do samostatných súborov, ale to pre naše účely zanedbáme. Ako som už uvádzal, na prvom mieste tohto projektu je jednoduchosť, vďaka ktorej bude návrh aplikácia trochu trpieť. Malý projekt to zvládne, s niečím väčším by to bol už problém.

Ako prvý sa musíme do nášho systému zaregistrovať. Preto do koreňového priečinka s projektom pridáme súbor registrace.php

Do súboru vložíme najprv nasledujúci HTML kód:

<!DOCTYPE html>
<html lang="cs-cz">
<head>
    <meta charset="utf-8" />
    <link rel="stylesheet" href="styl.css" type="text/css" />
    <title>Registrace</title>
</head>

<body>
    <article>
        <div id="centrovac">
            <header>
                <h1>Registrace</h1>
            </header>
            <section>
                <?php
                    if (isset($zprava))
                        echo('<p>' . $zprava . '</p>');
                ?>

                <form method="post">
                    Jméno<br />
                    <input type="text" name="jmeno" /><br />
                    Heslo<br />
                    <input type="password" name="heslo" /><br />
                    Heslo znovu<br />
                    <input type="password" name="heslo_znovu" /><br />
                    Zadejte aktuální rok (antispam)<br />
                    <input type="text" name="rok" /><br />
                    <input type="submit" value="Registrovat" />
                </form>
            </section>
            <div class="cistic"></div>
        </div>
    </article>
</body>
</html>

Je krátky a jednoduchý. Obsahuje HTML štruktúru a v nej formulár pre registráciu nového užívateľa do systému. Užívateľ zadá meno, 2x heslo (pre kontrolu) a zadá aktuálny rok, čo je jednoduchá ochrana proti spamu. V HTML kódu je malá prímes PHP, ktorá vypisuje text v premennej $ sprava, ak táto premenná existuje. Premennou budeme používať na prenos správy z PHP bloku do HTML bloku.

Stránka vyzerá teraz takto:

Registrácia nového užívateľa systému v PHP - Databázy v PHP pre začiatočníkov

V budúcej lekcii, Ners - Registrácia užívateľov v PHP , si k nej dopíšeme PHP blok.


 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 226x (1.9 kB)

 

Predchádzajúci článok
Formulár a výpis dát z databázy do tabuľky v PHP
Všetky články v sekcii
Databázy v PHP pre začiatočníkov
Preskočiť článok
(neodporúčame)
Ners - Registrácia užívateľov v PHP
Článok pre vás napísal David Hartinger
Avatar
Užívateľské hodnotenie:
1 hlasov
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
Aktivity