Vytvoríme ho v php. PHP. Dynamická tvorba stránok. Dynamické stránky a to, čo potrebujú

  • 05.03.2020

Dobrý deň! Teraz sa pokúsime implementovať najjednoduchšiu registráciu na stránke pomocou PHP + MySQL. Aby ste to dosiahli, musí byť na vašom počítači nainštalovaný Apache. Princíp fungovania nášho skriptu je uvedený nižšie.

1. Začnime vytvorením tabuľky užívateľov v databáze. Bude obsahovať používateľské údaje (prihlasovacie meno a heslo). Poďme na phpmyadmin (ak vytvárate databázu na vašom PC http://localhost/phpmyadmin/). Vytvorte tabuľku používateľov, bude mať 3 polia.

Ja ho vytvorím v databáze mysql, môžete si ho vytvoriť v inej databáze. Ďalej nastavte hodnoty ako na obrázku:

2. Vyžaduje sa pripojenie k tejto tabuľke. Vytvorme súbor bd.php. Jej obsah:

$db = mysql_connect("váš server MySQL","prihlásenie pre tento server","heslo pre tento server");
mysql_select_db ("názov databázy, ku ktorej sa pripájame", $db);
?>

V mojom prípade to vyzerá takto:

$db = mysql_connect("localhost","user","1234");
mysql_select_db("mysql",$db);
?>

Uložiť bd.php.
Skvelé! V databáze máme tabuľku a spojenie s ňou. Teraz môžete začať vytvárať stránku, na ktorej používatelia zanechajú svoje údaje.

3. Vytvorte súbor reg.php s obsahom (všetky komentáre vnútri):



Registrácia


Registrácia


















4. Vytvorte súbor, ktorý zadá údaje do databázy a uloží užívateľa. save_user.php(komentáre vo vnútri):



{
}
//ak je zadané prihlasovacie meno a heslo, spracujeme ich tak, aby značky a skripty nefungovali, nikdy neviete, čo môžu ľudia zadať


//odstráni nadbytočné medzery
$login = trim($login);
$heslo = trim($heslo);
// pripojenie k databáze
// kontrola existencie používateľa s rovnakým prihlásením
$result = mysql_query("SELECT id FROM users WHERE login="$login"",$db);
if (!empty($myrow["id"])) (
exit("Prepáčte, zadané prihlasovacie meno je už zaregistrované. Zadajte iné prihlasovacie meno.");
}
// ak tomu tak nie je, potom údaje uložte
$result2 = mysql_query("INSERT INTO users (login,password) VALUES("$login","$password")");
// Skontrolujte, či sa nevyskytli chyby
if ($result2=="TRUE")
{
echo "Úspešne ste sa zaregistrovali! Teraz môžete vstúpiť na stránku. Domovská stránka";
}
inak(
echo "Chyba! Nie ste zaregistrovaný.";
}
?>

5. Teraz sa môžu registrovať naši užívatelia!Ďalej musíte vytvoriť „dvere“ pre už registrovaných používateľov na vstup na stránku. index.php(komentáre vo vnútri):

// celý postup funguje v reláciách. Je to miesto, kde sa ukladajú údaje používateľa, keď je na stránke. Je veľmi dôležité spustiť ich hneď na začiatku stránky!!!
session_start();
?>


Domovská stránka


Domovská stránka











Zaregistrujte sa



// Skontrolujte, či sú premenné login a user id prázdne
if (prázdne ($_SESSION["login")] alebo prázdne ($_SESSION["id"]))
{
// Ak je prázdne, odkaz nezobrazujeme
echo "Ste prihlásený ako hosť
Tento odkaz je dostupný len pre registrovaných užívateľov“;
}
inak
{

V súbore index.php Zobrazíme odkaz, ktorý bude otvorený len pre registrovaných užívateľov. Toto je celý zmysel skriptu – obmedziť prístup k akýmkoľvek údajom.

6. Zostáva súbor s overením zadaného loginu a hesla. testreg.php (komentáre vnútri):

session_start();// celý postup funguje na reláciách. Je to miesto, kde sa ukladajú údaje používateľa, keď je na stránke. Je veľmi dôležité spustiť ich hneď na začiatku stránky!!!
if (isset($_POST["login"])) ( $login = $_POST["login"]; if ($login == "") ( unset($login);) ) //zadajte prihlasovacie meno zadané používateľom používateľa do $login premennej, ak je prázdna, tak zničte premennú
if (isset($_POST["heslo"])) ( $password=$_POST["heslo"]; if ($password =="") ( unset($password);) )
//vložíme užívateľom zadané heslo do premennej $password, ak je prázdna, zničí premennú
if (empty($login) alebo empty($password)) //ak používateľ nezadal prihlasovacie meno alebo heslo, vypíšeme chybu a zastavíme skript
{
exit("Nezadali ste všetky informácie, vráťte sa a vyplňte všetky polia!");
}
//ak je zadané prihlasovacie meno a heslo, spracujeme ich tak, aby značky a skripty nefungovali, nikdy neviete, čo môžu ľudia zadať
$login = stripslashes($login);
$login = htmlspecialchars($login);
$heslo = stripslashes($password);
$heslo = htmlspecialchars($heslo);
//odstráni nadbytočné medzery
$login = trim($login);
$heslo = trim($heslo);
// pripojenie k databáze
include("bd.php");// súbor bd.php musí byť v rovnakom priečinku ako všetky ostatné, ak nie, stačí zmeniť cestu

$vysledok = mysql_query("SELECT * FROM users WHERE login="$login"",$db); //získať z databázy všetky údaje o užívateľovi so zadaným loginom
$myrow = mysql_fetch_array($vysledok);
if (empty($myrow["heslo"]))
{
//ak užívateľ so zadaným loginom neexistuje
}
inak(
//ak existuje, skontrolujte heslá
if ($myrow["password"]==$password) (
//ak sa heslá zhodujú, spustíme pre používateľa reláciu! Môžete mu zablahoželať, dostal sa!
$_SESSION["login"]=$myrow["login"];
$_SESSION["id"]=$myrow["id"];//tieto údaje sa používajú veľmi často, takže prihlásený používateľ ich bude „nosiť so sebou“
echo "Úspešne ste vstúpili na stránku! Domovská stránka";
}
inak(
//ak sa heslá nezhodujú

Exit ("Prepáčte, zadané prihlasovacie meno alebo heslo je nesprávne.");
}
}
?>

Tak a je to! Lekcia môže byť nudná, ale veľmi užitočná. Tu je zobrazená iba myšlienka registrácie, potom ju môžete vylepšiť: pridať ochranu, dizajn, dátové polia, načítanie avatarov, odhlásenie z účtu (ak to chcete urobiť, jednoducho zničte premenné z relácie pomocou funkcie odstaviť) a tak ďalej. Veľa šťastia!

Všetko som skontroloval, funguje to správne!

Na vyriešenie tretieho problému je vhodný program Denwer, ktorý je možné nainštalovať do počítača zadarmo. Ak neviete, o aký druh programu ide, odporúčam vám prečítať si: ako nainštalovať Denwer, tento článok vysvetľuje krok za krokom (pre začiatočníkov), ako ho nainštalovať a ako ho používať.

Samozrejme, existujú aj iné nástroje, ktoré umožňujú interpretovať PHP. Napríklad Apatch, ale je dosť komplikovaný na konfiguráciu a ak ste začiatočník, neodporúčam s ním začínať.

Aby ste mohli začať s vývojom webovej stránky v PHP, potrebujete základné znalosti HTML. O tom, ako vytvoriť jednoduchú HTML stránku, som už písal. Sú tam popísané všetky HTML značky, bez ktorých nie je možné vytvoriť webovú stránku. Preto dôrazne odporúčam začať študovať tvorbu webových stránok z toho článku.

Aký je rozdiel medzi webovou stránkou PHP a webovou stránkou HTML?

Webová stránka PHP sa takmer nelíši od obyčajnej webovej stránky HTML. Jediným rozdielom je flexibilnejšie nastavenie a správa stránky a taktiež je možné mnohé funkcie automatizovať. Uvediem jednoduchý príklad.

Povedzme, že potrebujete zmeniť doslova jedno slovo v hlavičke webovej stránky. Ak je stránka vytvorená v holom HTML, potom budete musieť otvoriť každý html súbor, aby ste urobili zmenu, a to je veľmi nepohodlné. Ak je hlavička stránky vytvorená v PHP ako zásuvný komponent, zmeny bude potrebné vykonať iba v jednom súbore a automaticky sa zmenia na celej stránke.

Štruktúra typickej webovej stránky PHP:

Teraz poskytnem kód pre šablónu stránky v PHP. Upozorňujeme, že stránkam vytvoreným pomocou php sa odporúča mať príponu .php, aj keď to nie je požiadavka. Pri určitých nastaveniach hostingu môžu PHP kód spracovať aj súbory s bežnou príponou .html.

Kód súboru Index.php:

<span>Názov stránky</span> ... $_SERVER["DOCUMENT_ROOT"]."/head.php"; ?> ... ...
$_SERVER["DOCUMENT_ROOT"]."/top.php"; ?>
...
...
...Hlavná časť stránky...
... ... ...

Teraz sa pozrime na každý z pripojených prvkov samostatne:

  • hlava.php
  • top.php
  • sidebar1.php
  • sidebar2.php
  • footer.php

Upozorňujeme, že sú pripojené pomocou špeciálneho príkazu PHP:

vyžadovať_raz <полный путь/имя файла>

Každý súbor je zodpovedný za samostatnú časť stránky. Snažil som sa ich pomenovať čo najinformatívnejšie a najzrozumiteľnejšie. Stránka môže pozostávať z väčšieho počtu takýchto zahrnutých súborov. Pozrime sa na každý prvok v poradí zhora nadol.

Z predchádzajúcich lekcií sme sa naučili, že pomocou metódy GET môžeme odovzdať niektoré parametre priamo URL. Nič nám však nebráni v tom, aby sme to urobili aj bez formulárov, iba ich uvedením v URL.

Parametre môžeme odovzdávať cez URL. A tieto parametre môžeme získať priamo v skripte. Čo nám teda bráni v tom, aby sme používateľovi zobrazovali rôzne stránky v závislosti od parametrov v URL?

Vytvorenie dynamickej stránky

Ak chcete používateľovi zobraziť rôzne stránky, musíte pripraviť obsah. Nechajte ho ležať vo viacrozmernom poli:

"Vytváranie dynamických stránok", "obsah" => "Text článku o dynamických stránkach."

], [ "title" => "Ako chytiť mačiatko", "content" => "Text článku o mačiatkach."

]]; ?>

Dynamický parameter v URL sa bude volať id a zachytíme ho v $_GET["id"] . Ku každému prvku poľa by sme mohli pridať pole id, ale potom by sme museli iterovať všetky prvky a hľadať podpole s požadovaným id. Preto je oveľa jednoduchšie použiť kľúče hlavného poľa ako identifikátory.

Jednoducho povedané, vezmeme id a pokúsime sa nájsť článok s týmto kľúčom v poli $articles. Vyzerá to takto: Zostáva len načrtnúť výstup ponuky a skontrolovať správnosť id. Ukázalo sa, že ide o skutočný smerovač PHP!

"Domovská stránka", "obsah" => "Text článku o našej stránke" ], [ "title" => "Vytváranie dynamických stránok", "obsah" => "Text článku o dynamických stránkach."

Teraz môžete vytvárať dynamické stránky, kde počet stránok závisí od počtu prvkov poľa, a nie súborov PHP. :) Ak by stránka mala mať rôzne typy stránok, napríklad článok a produkt, ako druhý parameter môžete zadať typ stránky: site.ru?type=article&id=5 .

Samozrejme, tento systém nie je dokonalý. Po chvíli sa naučíte, ako vytvoriť normálny CNC (pohodlnejšie adresy URL, napríklad site.ru/articles/5/) a uložiť články do súboru alebo databázy.

Vytvorte súbor s názvom hello.php v koreňovom adresári webového servera (DOCUMENT_ROOT) a zapíšte doň nasledovné:

Príklad #1 Prvý skript v PHP: hello.php



Testovanie PHP


"

Ahoj svet!

" ; ?>



Otvorte tento súbor vo svojom prehliadači zadaním názvu vášho webového servera a /ahoj.php. Pri lokálnom vývoji môže byť toto prepojenie niečo podobné http://localhost/hello.php alebo http://127.0.0.1/hello.php, ale to závisí od nastavení vášho servera. Ak je všetko správne nakonfigurované, tento súbor spracuje PHP a prehliadač vypíše nasledujúci text:

PHP test

Ahoj svet



Tento program je mimoriadne jednoduchý a na vytvorenie takejto jednoduchej stránky nepotrebujete ani PHP. Všetko, čo robí, je dedukovať Ahoj svet pomocou PHP inštrukcie ozvena. Upozorňujeme, že súbor nemusí byť spustiteľný alebo sa nejako líšia od iných súborov.

Server vie, že tento súbor by mal spracovať PHP, keďže súbor má príponu ".php", o ktorej nastavenia servera hovoria, že takéto súbory by sa mali preniesť do PHP. Predstavte si to ako obyčajný súbor HTML, ktorý má to šťastie, že má veľa špeciálnych značiek (dostupných aj vám), ktoré dokážu urobiť veľa skvelých vecí.

Ak tento príklad nezobrazuje nič alebo okno sťahovania, alebo ak celý tento súbor vidíte ako text, potom váš webový server s najväčšou pravdepodobnosťou nemá podporu PHP alebo bol nesprávne nakonfigurovaný. ako úvodná značka, po ktorej nasledujú príkazy PHP končiace uzatváracou značkou ?> . Týmto spôsobom môžete skočiť do a z režimu PHP kdekoľvek v súbore HTML. Viac o tom si môžete prečítať v časti Základná syntax v príručke.

Komentujte: Poznámka o nových riadkoch

Zalomenia riadkov v HTML veľa neznamenajú, ale považuje sa za dobrý nápad zachovať čitateľnosť HTML zabalením do nového riadku. ?> PHP automaticky odstraňuje zalomenia riadkov ihneď po uzatváracej značke ?> . To môže byť mimoriadne užitočné, ak používate veľa blokov kódu PHP alebo obsahuje súbory PHP, ktoré by nemali mať žiadny výstup. Zároveň to môže byť mätúce. Za uzatváraciu značku môžete vložiť medzeru

Komentujte: a potom sa medzera vypíše spolu s novým riadkom, alebo môžete špecificky pridať nový riadok k poslednému volaniu echo/print z bloku kódu PHP.

Pár slov o textových editoroch

Komentujte: Existuje mnoho textových editorov a integrovaných vývojových prostredí (IDE), v ktorých môžete vytvárať a upravovať súbory PHP. Zoznam niektorých editorov je obsiahnutý v sekcii » Zoznam PHP editorov .

Ak by ste chceli odporučiť editora, navštívte túto stránku a požiadajte o pridanie do zoznamu. Používanie editora so zvýrazňovaním syntaxe môže byť obrovskou pomocou pri vašej práci. Pár slov o textových procesoroch Textové procesory (StarOffice Writer, Microsoft Word, Abiword atď.) vo väčšine prípadov nie sú vhodné na úpravu súborov PHP. Ak stále chcete použiť niektorý z týchto skriptov pre svoj testovací skript, uistite sa, že ste súbor uložili ako

Komentujte: jednoduchý text

(obyčajný text), inak PHP nebude môcť čítať a spustiť váš skript.

Niekoľko slov o programe Windows Poznámkový blok Pri písaní PHP skriptov pomocou vstavaného Windows Poznámkového bloku musíte ukladať súbory s príponou .php. (Poznámkový blok automaticky pridá príponu .txt, pokiaľ nevykonáte nasledujúce kroky.) Keď sa pri ukladaní súboru zobrazí výzva na zadanie názvu súboru, zadajte názov súboru v úvodzovkách (napríklad „hello.php“). Okrem toho môžete v dialógovom okne ukladania súboru kliknúť na rozbaľovaciu ponuku „Textové dokumenty“ a vybrať v nej možnosť „Všetky súbory“. Potom môžete zadať názov súboru bez úvodzoviek. a uvidíte veľa užitočných informácií o vašom systéme a nastavení, ako sú dostupné preddefinované premenné, načítané moduly PHP a možnosti konfigurácie.

Nájdite si čas na prečítanie týchto dôležitých informácií.

Príklad #2 Získanie systémových informácií z PHP

Hovorili sme len o statických stránkach, teda takých, ktoré bez ohľadu na to, ako s nimi používateľ interaguje, vždy ostávajú nezmenené a aby sa zmenil ich obsah či dizajn, musí vlastník stránky upraviť kód manuálne.

Dynamické stránky a to, čo potrebujú

Okrem statických stránok existujú aj dynamické stránky. Toto je teraz väčšina ľudí na internete. Informácie v nich sa načítavajú z externých zdrojov, ako je databáza alebo iné súbory. Obsah a formátovanie takýchto stránok sa môže meniť v závislosti od aktivity používateľa. Na úpravu dynamických stránok nie je potrebné zasahovať do ich kódu – stačí zmeniť obsah v špeciálne navrhnutom súbore alebo databáze, ktorá je mimochodom tiež súborom, len určitým spôsobom štruktúrovaným.

Samotné HTML a CSS nestačia na vytváranie dynamických webových stránok. Používajú sa tu aj programovacie jazyky, ako aj databázy a dotazovacie jazyky pre ne. Moderné dynamické webové stránky najčastejšie využívajú pri svojej práci HTML, CSS, PHP, JavaScript a SQL. Prvé dve skratky už poznáte z prvej ruky, SQL sa používa na prístup k databázam, JavaScript je klientsky jazyk, ktorého príkazy spracováva prehliadač a často sa používajú na zobrazenie najrôznejších krás, ako sú závesy alebo plynulo otvárajúce sa fotografie , ale PHP je server-side programovací jazyk , ktorý okrem iného pracuje s obsahom stránky a robí ju dynamickou, dnes sa s ním stretneme.

Príklad použitia príkazu include V predchádzajúcom článku som hovoril o blokovom rozložení stránky a uviedol príklad jednoduchej stránky (dokument index.html a súbor k nemu pripojený).

style.css Teraz rozdelíme dokument index.html do niekoľkých súborov, z ktorých každý bude obsahovať svoju časť stránky, čo pomôže ďalej rozdeliť kód, vylepšiť štruktúru šablóny a v podstate urobiť stránku dynamickou. Na tento účel nám poslúži jazyk PHP, respektíve iba jedna z jeho direktív – funkcia zahrnúť()

, ktorý zahŕňa jeden súbor v druhom. 1. Zmeňte rozlíšenie súboru vytvoreného v článku o rozložení bloku index s.html na.php index.php aby sa dokument volal . Typ súboru označuje serveru, že dokument bol napísaný alebo používa vložky v programovacom jazyku s rovnakým názvom.

2. V priečinku so stránkou vytvorte adresár bloky.

3. Všetky podporné informácie (horná, spodná, navigácia a bočný panel stránky) vložíme do samostatných súborov, ktoré umiestnime do priečinka bloky.

Takže vytvorte štyri súbory v adresári blokov: hlavička.php, navigácia.php, sidebar.php A footer.php. Vyplňte súbory kódom.

4. Skontrolujte štruktúru priečinkov šablóny. Súbory musia byť v koreňovom adresári index.php, a súbor k nemu pripojený a adresár bloky.

Štruktúra priečinkov bloky malo by to byť takto.

5. V evidencii index.php odstráňte existujúci kód a napíšte nový:

Rozloženie bloku

Obsah hlavnej stránky



V prehliadači vyzerá súbor index.php úplne rovnako ako predtým, ale štruktúra šablóny sa úplne zmenila. O tom, čo sa stalo, si povieme neskôr, ale teraz odpovieme na otázku o záhadných príkazoch, ako sú .

Podobne ako kód HTML, aj kód PHP má svoje označenie začiatku a konca. Vkladanie PHP teda musíte spustiť príkazom a ukončite riadkom ?> . Medzi týmito príkazmi je napísaný hlavný kód. V našom prípade je to len jeden príkaz - zahŕňajú.

Funkcia do niekoľkých súborov, z ktorých každý bude obsahovať svoju časť stránky, čo pomôže ďalej rozdeliť kód, vylepšiť štruktúru šablóny a v podstate urobiť stránku dynamickou. Na tento účel nám poslúži jazyk PHP, respektíve iba jedna z jeho direktív – funkcia vloží do súboru kód z iného súboru, čím umožní uložiť rôzne časti stránky do rôznych dokumentov, čím ich od seba spoľahlivo oddelí.

V dôsledku vykonaných akcií sme dostali dynamickú stránku index.php, ktorých časti sa načítavajú z rôznych súborov. Vďaka tomu môžete vytvárať ďalšie stránky a rovnakým spôsobom do nich načítavať pomocné prvky zo súborov priečinkov bloky.

Tento prístup je dobrý, pretože ak chcete zmeniť, povedzme, názov položky menu na webovej stránke s 20-30 stránkami, potom v šablóne s novovytvorenou štruktúrou budete musieť vykonať zmeny iba v jednom súbore - bloky/ navigation.php a ponuka sa okamžite zmení na všetkých stránkach, na ktorých je zahrnutá. Ak by bola lokalita statická, potom na zmenu názvu jednej položky ponuky by ste museli vykonať zmeny každý v rozsahu 20-30 strán. Rozdiel je zrejmý.




Stránky pomocníka pre počítače

© Copyright 2024,
rzdoro.ru -Webová stránka pomocníka pre počítače

  • kategórie
  • programy
  • Microsoft Office
  • internet
  • Linux
  • programy
  • Microsoft Office
  • internet
  • Linux