Ablakok.  Vírusok.  Jegyzetfüzetek.  Internet.  hivatal.  Segédprogramok.  Drivers

Bármilyen bonyolultságú, ígéretes, bővíthető és hatékony webhely létrehozásához egy egyszerűvel kell kezdenie. Ez a folyamat nem egyszerű, bizonyos PHP és MySQL alapismereteket igényel, de ha pontról pontra nézzük, egyfajta „munkatervet” készíthet, ami jól jön új oldalak készítésekor. Készítsük elő a projekt „magját” és alapot. Eleinte egy rendes névjegykártya oldal lesz, de aztán funkcionalitást bővítve bármivé alakítható. Tehát kezdjük.

1. Adatbázis készítés. Hozza létre az első táblát a MySQL adatbázisban

Teremt új alap adatok, például "saját webhely". Én személy szerint hozzászoktam, hogy UTF-8 kódolással dolgozzak, ezért azonnal lefoglalom: győződjön meg róla, hogy minden szöveges fájlok webhely, maga az adatbázis, a táblák és a táblamezők ugyanabban a kódolásban voltak.
Hozzon létre egy táblát egy új adatbázisban. Nevezzük "oldalaknak". Ez a táblázat tárolja a jövőbeli webhely statikus oldalait és az azokra vonatkozó információkat. A táblázatnak a következő mezőket kell tartalmaznia:

  • page_id - oldalazonosító (KICSIK, elsődleges kulcs, auto_increment);
  • page_alias - oldalálneve a CNC címsorhoz (VARCHAR, 255);
  • page_title - az oldal címe a böngészőablakban (VARCHAR, 255);
  • page_meta_d - oldal meta leírása ehhez meta tag leírás(varchar, 255);
  • page_meta_k - meta kulcsszavakat a meta kulcsszavak címkéjéhez (VARCHAR, 255);
  • oldal_h1 - oldal címe (VARCHAR, 255);
  • page_s_desc - Rövid leírás anyag, például, ha a webhely anyagai blog formájában lesznek (SZÖVEG);
  • page_content - az oldal fő szövege, amely a webhely központi oszlopában jelenik meg (SZÖVEG);
  • page_publish - "Y"-t tartalmaz, ha az oldal megjelent, vagy "N"-t, ha rejtett (CHAR, alapértelmezett "Y").

Közvetlenül a táblázat létrehozása után illessze be a következőhöz tartozó értékeket kezdőlap webhely. A főoldal "page_alias" mezőjébe javaslom a "home" érték beszúrását. Meta tagek – a teljes oldal témájának megfelelően. Ugyanígy létrehozhat más oldalakat is, például "A cégről" a "Névjegy" aliassal és a saját metacímkéivel, vagy a "Kapcsolatok" a "kapcsolattartók" aliassal stb.

2. Hozzon létre egy webhely konfigurációs fájlt

A webhely gyökérmappájában, amelynek ebben a szakaszban üresnek kell lennie, létrehozunk egy „cfg” mappát, ebben a .htaccess használatával lezárjuk a hozzáférést a „deny from all” direktívával. Hozzon létre egy core.php fájlt a következő tartalommal:

// MySQL
osztály MyDB
{
var $dblogin = "root"; // AZ ADATBÁZIS BEJELENTKEZÉSE
var $dbpass = ""; // AZ ADATBÁZISJELSZAVA
var $db = "webhelyem"; // AZ OLDAL BÁZISÁNAK NEVE
var $dbhost="localhost";

var$link;
var$query;
var $err;
var $eredmény;
var$data;
var $fetch;

Függvény connect() (
$this->link = mysql_connect($this->dbhost, $this->dblogin, $this->dbpass);
mysql_select_db($this->db);
mysql_query("NEVEK BEÁLLÍTÁSA utf8");
}

függvény close() (
mysql_close($this->link);
}

Függvény futtatása($query) (
$this->query = $query;
$this->result = mysql_query($this->query, $this->link);
$this->err = mysql_error();
}
függvény sor() (
$this->data = mysql_fetch_assoc($this->result);
}
fetch() (
while ($this->data = mysql_fetch_assoc($this->result)) (
$this->fetch = $this->data;
return $this->fetch;
}
}
függvény stop() (
unset($this->data);
unset($this->result);
unset($this->fetch);
unset($this->err);
unset($this->query);
}
}

Ez a fájl jelenleg csak egy egyszerű adatbázis-csatlakozási osztályt tartalmaz, de a jövőben különféle hasznos funkciókkal egészítheti ki, amelyek a webhely kódjában bárhonnan elérhetőek lesznek. Ne felejtse el megváltoztatni az adatbázishoz tartozó felhasználónevét és jelszavát.

Ha Windows környezetben dolgozik, ajánlom a . Ez a szerkesztő sorszámozással rendelkezik, és könnyen lefordítja a szöveget egyik kódolásról a másikra. FIGYELEM! Ha UTF-8 kódolásban dolgozik - konvertálja a fájlokat UTF-8-ba BOM nélkül - ez segít elkerülni a problémákat a jövőben.

3. Hozza létre az index.php fájlt – a fő webhelyvezérlőt

A konfigurációs fájl létrejött. Most létrehozzuk az index.php fájlt a webhely gyökérmappájában - ez lesz a webhely fő szkriptje, egyfajta "fővezérlő". Az index.php fájl tartalma:

define("INDEX", ""); // FŐ VEZÉRLŐÁLLÓ BEÁLLÍTÁSA

Require_once($_SZERVER."/cfg/core.php"); // CSATLAKOZTASSA A MAGOT

// KAPCSOLAT A DB-HEZ
$db = new MyDB();
$db->connect();

// FŐ VEZÉRLŐ
kapcsoló ($_GET) (
eset "oldal":
include($_SZERVER."/com/page.php");
szünet;
alapértelmezett:
include($_SZERVER."/com/home.php");
szünet;
}

Include($_SERVER."/template.php");
$db->close();

A $_GET változó megmondja a fő vezérlőnek, hogy kérésre melyik webhely összetevőt kell betölteni. Oldalunk most már csak két komponensből áll: „oldal” és „főoldal” (elvileg egy komponenssel is meg lehet boldogulni egy normál oldal megjelenítéséhez, de gyakran az oldal főoldalának megjelenése eltér a szokásos oldalaktól. menüpontok). A fővezérlő logikája a következő: a szükséges komponens nevét (a $option változó értéke) az URL stringből kivonjuk, értékétől függően magának a komponensnek a fájlja kerül bele (a / com mappa). A komponensfájl elvégzi az összes szükséges munkát, lekéri az adatokat az adatbázisból, és változókba írja, amelyeket át kell adni a tervezősablonnak. A legvégén csatlakozik a site design fájl, amelybe a komponensekben kinyert összes változó és adat átkerül. Ez sokkal bonyolultabbnak hangzik, mint ahogy működik.

4. Hozzon létre egy normál oldalkimeneti összetevőt

A webhely gyökerében hozzon létre egy "com" mappát - ez tárolja az összetevő fájlokat. A webhely-összetevő értelmezésem szerint egy fájl, amelyben a webhely különböző szakaszaira vonatkozó adatokat dolgoznak fel. Például egy normál oldal komponense lekéri az adatbázisból az anyag címét, leírását és szövegét, és beírja a $cím, $meta_d, $meta_k, $content stb. változókba. Ezek az adatok ezután átkerülnek a tervezősablon (minden komponenshez létrehozhat saját tervezési sablont), és HTML-oldalként jelenik meg a felhasználó számára. Például egy jövőben létrehozható katalógus komponens szinte ugyanezt tenné, csak a termékekre vonatkozó adatokkal - és vannak saját specifikumaik, más mezők a táblázatban, stb. Ezért az oldal minden funkcionális részéhez érdemes külön komponenst létrehozni. Az MVC (Model-View-Controller) sémában a komponens modell szerepét tölti be.

Hozzon létre egy "page.php" fájlt a "com" mappában. A fájl tartalma a következő:

/* OLDAL ÖSSZETEVŐ */
$alias = $_GET;
$query = "SELECT * FROM pages WHERE page_alias="".$alias."" AND page_publish="Y" LIMIT 1";
$db->run($query);
$db->row();
// KOMPONENS VÁLTOZÓK
$id = $db->adat;
$alias = $db->adat;
$cím = $db->adat;
$h1 = $db->adat;
$meta_d = $db->adat;
$meta_k = $db->adat;
$s_desc = $db->adat;
$komponens = $db->adat;
// HA AZ OLDAL NEM LÉTEZIK
if (!$id) (
header("HTTP/1.1 404 nem található");
$component = "404-es HIBA! Ez az oldal nem létezik";
}
$db->stop();

5. Hozza létre a Kezdőlap megjelenítési összetevőt

Adatbázisunk főoldala "otthon" fedőnéven található, és egyelőre felépítésében nem tér el az oldal szokásos oldalaitól - ez csak egy cikk. Ennek ellenére külön komponenst fogunk létrehozni neki - úgymond a jövő számára.


A "com" mappában található "home.php" komponens tartalma majdnem megegyezik a normál oldalkomponens tartalmával, kivéve az adatbázis lekérdezési karakterláncát és az összetevő nevét. A lekérdezési karakterlánc most így néz ki:

$query = "SELECT * FROM wx_pages WHERE page_alias="home" LIMIT 1";

6. Hozzon létre egy tervezősablont a teljes webhelyhez

Hozzon létre egy template.php fájlt a webhely gyökerében. Valójában ez egy normál webdizájn elrendezés HTML + CSS formátumban, csak PHP változókkal a megfelelő helyeken. Helyezze be a címcímkék közé, a webhely beillesztésének középső oszlopábanés így az egész sablonban elhelyezzük a szükséges változókat, amelyeket a komponensekben deklarálunk.

A gyökérmappának rendelkeznie kell "css" és "images" mappákkal is a tervezési elemekhez. A /css/style.css fájlban - tetszés szerint testreszabhatja a stílusokat.

7. Tisztítsa meg a hivatkozásokat és a .htaccess fájlt

A tiszta hivatkozások létrehozásához a mod_rewrite-t használom, közvetlen utasításokkal az egyes összetevők szabályaihoz külön-külön, mivel a címsor elemzése magával a vezérlővel felesleges funkcionalitásnak minősül. A .htaccess tartalma ebben a szakaszban a következő:


Írja újra a motort
RewriteBase /

RewriteCond %(REQUEST_FILENAME) !-d
RewriteCond %(REQUEST_FILENAME) !-f

# TILTOTT FÁJLOK
RewriteRule .htaccess - [F]
RewriteRule template.php - [F]

# mod_rewrite SZABÁLYOK
RewriteRule page/(+)([\/](0,1))\.htm$ index.php?option=page&alias=$1 [L]

A jövőben szabályokat fogunk hozzáadni a keresési összetevőkre, a katalógusra, a cikkek blogjára stb. Csak egy pont van: az olyan hivatkozásokat, mint a "mysite.com/index.php?option=pages&alias=about" átalakítani olyan hivatkozásokká, mint a "mysite.com/pages/about.htm" - elég jól néz ki. A fejlesztés során biztonsági okokból próbálja elkerülni a $_GET tömböt, és ne hagyatkozzon rá. Célszerű csak a fő vezérlő ($opció változó) és a benne lévő komponens ($alias változó) paramétereit tárolni.

Ezenkívül a webhely minden mappájában „csak abban az esetben” hozzon létre egy üres index.html fájlt - ez azért szükséges, hogy semmi sem jelenjen meg, amikor a címsoron keresztül hozzáfér a könyvtárhoz.

Címkék: php, mysql, oldalmotor, vezérlő, oldalkészítés, mvc

A dinamikus PHP webhely legegyszerűbb példája, egyszerűbb, mint elsőre tűnik.

Ez a mintasablon MSQL adatbázisok nélkül is működik, de ez a fejlesztés során dől el, és ebben a szakaszban minden HTML és PHP nyelven van megírva. A jövőben bemutatunk egy példát egy bonyolultabb sablonra, de most egy egyszerűre fogunk összpontosítani, ami elég egy nagyszerű webhely létrehozásához.

Ha megrendelésre szeretne webhelyet létrehozni és reklámozni, vegye fel a kapcsolatot egy megbízható webhely-promóciós stúdióval.

Először is meg kell tanulnia és meg kell értenie a dinamika különbségeit egy egyszerű html webhelyről, amelyet az utolsó leckében ismertettünk, és amely alapján ez a projekt épül. Tehát tanácsos tanulmányozni, akkor nagyon könnyű lesz megérteni ezt a cikket.

És a különbség egy egyszerű webhelyhez képest pontosan a szolgáltatás gyorsaságában rejlik! Aki már ismeri egyszerű HTML tudja, hogy a banner megváltoztatásához teljesen le kell lapátolni az oldalt, minden oldalt... Ami sok időt vesz igénybe. A dinamikában pedig - minden pár perc alatt elvégezhető, akárhány oldala van az oldalnak, legalább 1000, ez nem befolyásolja a szerkesztési időt! Szerintem még ez is elég ennek a példának a tanulmányozásához!

Például egy webhelysablon készül, amelyet a címke használatával írnak

Tehát nézzünk meg egy példát egy szokásos sablonoldalra, amelyet külön fájlokra vágunk.


































- lesz egy vágás, és lesz a tartalom külön fájl



A webhely tartalma





- minden alább egy külön fájl lesz -

















betét szép
menü a weboldalhoz






































HTML sablon vágása PHP blokkokra.

Az első fájl tartalmazza a webhely teljes fejlécét, egészen a blokk megnyitásáig

és fejlécnek fogják nevezni, és szükségszerűen együtt php kiterjesztés !!!


































A fájl neve pedig header.php lesz


A második fájl lesz a fő, amely a webhely összes tartalmát tartalmazza - olyan tartalmat, amely a jövőben nem, vagy nagyon ritkán változik. Egy cikket általában egyszer tesznek közzé, és az egy oldalon történő változtatások nem okoznak gondot. A többi, a tervezésért felelős fájl hozzá lesz kapcsolva. És például cím.php lesz a neve



A webhely tartalma



- itt lesz egy vágás, a tartalom is külön fájl lesz -



A fájl neve pedig title.php lesz


Minden mást - a bal oldalsáv blokkját és a láblécet - a harmadik fájlba alakítjuk - footer.php.




- minden alább egy külön fájl lesz -

















betét szép
menü a weboldalhoz






































és a fájl neve footer.php lesz


Most már konstruktőrként elkezdheti építeni oldalunkat, és megértheti a dinamikus oldal létrehozásának minden titkát. Ehhez két olyan fájlt kell csatlakoztatnia a fő fájlhoz, amelyek felelősek a tervezésért és tartalmazzák a bal oldalsávot. Itt van szükség a PHP elemi ismeretére, ami nélkül semmi sem megy. Ehhez pedig az általunk már ismert request függvényt kell használnunk.




- a header.php fájl csatlakoztatása



A webhely tartalma








- a footer.php fájl csatlakoztatása


És itt a mi oldalunk! A adott fájl- a title.php lesz az a sablon, amelyből új oldalak generálódnak.
És létrehozzuk a főt, aminek a neve index.php lesz. Ehhez egyszerűen másolja ki a title.php fájlt, és amikor ugyanabba a mappába menti, adja meg az index.php nevet. És ugyanezen elv szerint minden új oldal jön létre. Csak a töltelék lesz kiváló, minden más közös lesz náluk, és könnyű lesz engedni az azonnali változásoknak!!!

És nem számít, hogy melyik program nyitja meg a php fájlokat, telepítettem a PHP Expert Editor programot, amelyen keresztül nagyon kényelmes az oldalak átkódolása, olyannak kell lennie, mint a képen. Két szükséges fájl és három oldal.

Ezután hozzáadhatja a módosításokat, attól függően, hogy mit szeretne a webhelyétől. Például, ha olyan változót ad meg, amely minden oldal címét egyenként jeleníti meg,
akkor ezt a kódot hozzá kell adni a header.php fájlhoz




<?php echo «$title»; ?>


És adjon hozzá egy kódot a sablonhoz, amely tartalmazza a saját egyedi oldal nevét, amely szükséges a helyes .






$title ='Példa egy dinamikus PHP webhelyre. ‘;


igényel 'fejléc.php';


?>



A webhely tartalma



Ide bármit írhatsz és bármilyen információt beszúrhatsz,


a látogatónak szánták.






Egy nagyon szeretném felhívni a figyelmet fontos pont. Ez vonatkozik bármilyen komplexitású webhely fejlesztésére - új projekt létrehozása előtt nagyon óvatosan és egyértelműen határozza meg a projekt összes jövőbeli funkcióját. Például, ha van blog, akkor szükség van egy megjegyzésblokkra, és ehhez meg kell adnia egy változót, amely meghatározza az oldal egyedi címét stb. Egyszóval - előtte át kell gondolnia az általánost, mert utána - sok olyan hiba lesz, amelyeket nagyon hosszú és fájdalmas lesz kijavítani, és ez a tanács vonatkozik mind az egyszerű webhelyekre, mind az összetett projektekre, amelyek szuper- új motor!

Hozzon létre egy hello.php nevű fájlt, és helyezze el a webszerver gyökérkönyvtárába (DOCUMENT_ROOT) a következő tartalommal:

1. példa Az első PHP szkriptünk: hello.php



PHP teszt


Helló Világ

" ; ?>

Használja böngészőjét a fájl eléréséhez webszerverének URL-címével, amely a következővel végződik: /hello.php fájl hivatkozás. Helyi fejlesztéskor ez az URL valami hasonló lesz http://localhost/hello.php vagy http://127.0.0.1/hello.php de ez a webszerver konfigurációjától függ. Ha minden megfelelően van beállítva, akkor ezt a fájlt a PHP elemzi, és a következő kimenetet küldi el a böngészőjének:

PHP teszt

Helló Világ

Ez a program rendkívül egyszerű, és valóban nem kellett PHP-t használnia egy ilyen oldal létrehozásához. Mindössze annyit tesz, hogy megjeleníti: Helló Világ PHP segítségével visszhang nyilatkozat. Vegye figyelembe, hogy a fájl nem kell végrehajthatónak lennie vagy bármilyen módon különleges. A szerver rájön, hogy ezt a fájlt a PHP-nek kell értelmeznie, mert a ".php" kiterjesztést használta, amelyet a szerver úgy van beállítva, hogy továbbadja a PHP-nek. Tekintsd ezt egy normál HTML-fájlnak, amely történetesen egy sor speciális címkével rendelkezik, amelyek sok érdekes dolgot végeznek.

Ha kipróbáltad ezt a példát, és nem írt ki semmit, letöltést kért, vagy a teljes fájlt szövegként látod, akkor valószínű, hogy a szerveren, amelyen tartózkodsz, nincs engedélyezve a PHP, vagy nincs megfelelően beállítva. Kérje meg a rendszergazdát, hogy engedélyezze ezt Önnek a kézikönyv Telepítés fejezetében. Ha helyben fejleszt, olvassa el a telepítési fejezetet is, hogy megbizonyosodjon arról, hogy minden megfelelően van beállítva. Győződjön meg arról, hogy a fájlt http-n keresztül éri el a kimenetet biztosító szerverrel. Ha csak előhívja a fájlt a fájlrendszeréből, akkor a PHP nem fogja elemezni. Ha a problémák továbbra is fennállnak, ne habozzon, használja a számos lehetőség egyikét.

A példa lényege a speciális PHP címke formátum bemutatása. Ebben a példában használtuk PHP címke kezdetének jelzésére. Ezután betettük a PHP utasítást, és a záró tag hozzáadásával kiléptünk a PHP módból, ?> . Egy ilyen HTML-fájlban bárhol be- és kiléphet a PHP módból. További részletekért olvassa el az alapvető PHP szintaxis kézikönyv szakaszát.

jegyzet: Megjegyzés a soremelésekről

A soremeléseknek kevés jelentése van a HTML-ben, de még mindig jó ötlet, hogy a HTML-kódot szép és letisztult megjelenésűvé tegye soremelések beiktatásával. Egy soremelés, amely közvetlenül a zárás után következik ?> PHP eltávolítja. Ez rendkívül hasznos lehet, ha sok PHP-blokkot teszünk bele, vagy olyan PHP-t tartalmazó fájlokat tartalmaznak, amelyeknek nem kellene semmit kiadniuk, ugyanakkor kissé zavaró is lehet. tudsz tegyél szóközt a zárás után ?> szóköz és soremelés kényszerítéséhez, vagy behelyezhet egy explicit soremelést a PHP blokkon belüli utolsó visszhangba/nyomtatásba.

jegyzet: Megjegyzés a szövegszerkesztőkről

Számos szövegszerkesztő és integrált fejlesztési környezet (IDE) használható PHP-fájlok létrehozására, szerkesztésére és kezelésére. Ezen eszközök részleges listája a » PHP szerkesztők listája címen található. Ha szerkesztőt szeretne ajánlani, látogasson el a fenti oldalra, és kérje meg az oldal karbantartóját, hogy a szerkesztőt vegye fel a listára. Hasznos lehet egy szintaktikai kiemeléssel rendelkező szerkesztő.

jegyzet: Megjegyzés a szövegszerkesztőkről

szövegszerkesztők, mint például a StarOffice Writer, Microsoft Wordés az Abiword nem optimális a PHP fájlok szerkesztéséhez. Ha szeretne egyet használni ehhez a tesztszkripthez, gondoskodnia kell arról, hogy a fájlt más néven mentse egyszerű szöveg vagy a PHP nem fogja tudni olvasni és végrehajtani a szkriptet.

jegyzet: Megjegyzés a Windows Jegyzettömbhöz

Ha a PHP-szkripteket a Windows Jegyzettömb használatával írja, gondoskodnia kell arról, hogy a fájlok .php kiterjesztéssel legyenek mentve. (A Jegyzettömb automatikusan .txt kiterjesztést ad a fájlokhoz, kivéve, ha az alábbi lépések egyikével megakadályozza.) Amikor elmenti a fájlt, és a rendszer kéri, hogy adjon nevet a fájlnak, tegye idézőjelbe a fájlnevet (azaz "hello.php" "). Alternatív megoldásként kattintson a "Mentés" párbeszédpanel "Szöveges dokumentumok" legördülő menüjére, és módosítsa a beállítást "Összes fájl"-ra. Ezután megadhatja a fájlnevét idézőjelek nélkül.

Most, hogy sikeresen elkészített egy működő PHP szkriptet, ideje elkészíteni a leghíresebb PHP szkriptet! Hívjon a phpinfo() funkciót, és sok hasznos információt fog látni az Önről rendszer és beállítás, mint például az elérhető előre definiált változók, betöltve PHP modulokés a konfigurációs beállításokat. Szánjon egy kis időt, és tekintse át ezt a fontos információt.

2. példa Rendszerinformációk beszerzése a PHP-ből

Hozzon létre egy hello.php nevű fájlt a webszerver gyökérkönyvtárában (DOCUMENT_ROOT), és írja be a következőket:

1. példa Az első PHP szkript: hello.php



PHP tesztelése


"

Helló Világ!

" ; ?>

Nyissa meg ezt a fájlt egy böngészőben a webszerver nevének beírásával és /hello.php. Helyi fejlesztésnél ez a link valami ilyesmi lehet http://localhost/hello.php vagy http://127.0.0.1/hello.php, de ez a szerver beállításaitól függ. Ha minden helyesen van beállítva, ezt a fájlt a PHP feldolgozza, és a böngésző a következő szöveget jeleníti meg:

PHP teszt

Helló Világ

Ez a program rendkívül egyszerű, és nem is kell PHP-t használni egy ilyen egyszerű oldal létrehozásához. Minden, amit tesz, az a következtetés Helló Világ PHP utasítás használatával visszhang. Felhívjuk figyelmét, hogy a fájl nem kell végrehajthatónak lennie vagy más módon különbözik a többi fájltól. A szerver tudja, hogy ezt a fájlt a PHP-nek kell feldolgoznia, mert a fájlnak ".php" kiterjesztése van, amely a szerver beállításai szerint az ilyen fájlokat át kell adni a PHP-nek. Tekintsd úgy, mint egy normál HTML-fájlt, amely elég szerencsés, ha rendelkezik egy speciális címkével (az Ön számára is elérhető), amelyek sok klassz dologra képesek.

Ha ez a példa nem jelenít meg semmit, vagy egy letöltési ablakot jelenít meg, vagy ha a teljes fájlt szöveges formában látja, akkor valószínűleg a webszerver nem rendelkezik PHP támogatás vagy rosszul lett beállítva. Kérje meg a kiszolgáló rendszergazdáját, hogy engedélyezze ezt a támogatást. Ajánlja fel neki a telepítési utasításokat: ennek a dokumentációnak a Telepítés című részét. Ha otthoni (helyi) PHP szkripteket fejleszt, akkor olvassa el ezt a fejezetet is, hogy megbizonyosodjon arról, hogy minden megfelelően van beállítva. Győződjön meg arról is, hogy a fájlt a szervertől a http protokollon keresztül kéri. Ha csak megnyitja a fájlt a saját fájlrendszer, azt nem a PHP fogja feldolgozni. Ha a problémák továbbra is fennállnak, nyugodtan kérjen segítséget a PHP támogatási elismervényei közül.

A példa célja a speciális formátumának bemutatása PHP címkék. Ebben a példában használtuk nyitó címkeként, majd a záró címkével végződő PHP parancsok ?> . Így PHP módtól bárhová "ugrálhat" és "ugrálhat". HTML fájl. Erről bővebben a kézikönyv Alapszintaxis című részében olvashat.

Megjegyzés: Megjegyzés az újsorokról

A sortörések keveset jelentenek a HTML-ben, de érdemes a HTML-t olvashatóan tartani úgy, hogy új sorba tördeljük. A PHP automatikusan eltávolítja az újsorokat közvetlenül a zárócímke után ?> . Ez rendkívül hasznos lehet, ha sok PHP kódblokkot használ, vagy olyan PHP fájlokat tartalmaz, amelyeknek nem szabad semmit kiadniuk. Ugyanakkor zavaró is lehet. A záró címke után szóközt tehet ?> és akkor a szóköz az újsorral együtt kerül kiadásra, vagy a PHP kódblokkból az utolsó echo/print híváshoz is hozzáadhat egy újsort.

Megjegyzés: Néhány szó a szövegszerkesztőkről

Sokan vannak szövegszerkesztőkés integrált fejlesztői környezetek (IDE-k), ahol PHP-fájlokat hozhat létre és szerkeszthet. Egyes szerkesztők listáját a » PHP szerkesztők listája című részben találja. Ha szeretne szerkesztőt ajánlani, látogasson el erre az oldalra, és kérje egy szerkesztő felvételét a listára. A szintaktikai kiemeléssel rendelkező szerkesztő használata nagy segítséget jelenthet a munkájában.

Megjegyzés: Néhány szó a szövegszerkesztőkről

A szövegszerkesztők (StarOffice Writer, Microsoft Word, Abiword stb.) a legtöbb esetben nem alkalmasak szerkesztésre PHP fájlok. Ha továbbra is használni szeretné ezek bármelyikét a tesztszkripthez, győződjön meg róla, hogy a fájlt más néven menti egyszerű szöveg(sima szöveg), különben a PHP nem fogja tudni olvasni és futtatni a szkriptet.

Megjegyzés: Néhány szó a Windows Jegyzettömbről

Íráskor PHP szkriptek a beépített Windows Jegyzettömb használatával .php kiterjesztéssel kell mentenie a fájlokat. (A Jegyzettömb automatikusan hozzáadja a .txt kiterjesztést, ha nem hajtja végre a következő lépéseket.) Amikor a rendszer kéri, hogy nevezze el a fájlt a mentéskor, írja be a fájlnevet dupla idézőjelek(például "hello.php"). Ezenkívül kattintson a legördülő menüre " Szöveges dokumentumok" a fájl mentése párbeszédpanelen, és válassza ki benne az "Összes fájl" lehetőséget. Ezt követően megadhatja a fájl nevét idézőjel nélkül.

Most, hogy sikeresen elkészített egy működő PHP szkriptet, itt az ideje, hogy létrehozza a valaha volt leghíresebb PHP szkriptet! Hívjon függvényt phpinfo()és sokakat fogsz látni hasznos információ a rendszerről és a beállításokról, például az elérhető előre definiált változókról, a betöltött PHP modulokról és a beállítási lehetőségekről. Szánjon egy kis időt ennek a fontos információnak a tanulmányozására.

2. példa Rendszerinformációk lekérése PHP-ből

Sok olvasó minden számítógépről szóló könyvben átfut mindenen, ami nem azonnali érdeklődésre tart számot, és továbbmegy arra, ami valójában akar tud. Én személy szerint pontosan ezt csinálom. Aggodalomra azonban nincs ok – ritkán vannak olyan szakkönyvek, amelyeket a borítótól a borítóig el kell olvasni. Vagy talán pontosan ezt tetted – kihagytad a nyolc kezdeti fejezetet, és azért vetted fel ezt a fejezetet, mert annak volt a legérdekesebb címe? És ki akar időt vesztegetni a részletekre, amikor egy másik projekt lángokban áll a munkahelyén?

Szerencsére az ilyen sietség nem akadályozza meg abban, hogy megfelelően beolvassa a könyv második részének anyagát. PHP használatával teleképítéshez és az internettel való interakcióhoz. Ebben a fejezetben megtudhatja, hogyan módosíthatja egyszerűen a weboldalak tartalmát, és hogyan navigálhat a weben hivatkozások és különféle szabványos funkciók segítségével. A következő fejezet kiegészíti a bemutatott anyagot - részletesen tárgyalja a felhasználói interakció eszközeit HTML-formákban, a 11. fejezet pedig az adatbázisokkal való interfész felépítését ismerteti. A 2. rész többi fejezete a PHP webes programozás nem triviális vonatkozásait tárgyalja.

Nem szabad azonban elfelejteni, hogy az 1. rész anyaga feltétlenül elengedhetetlen a PHP normál ismeretéhez. Feltételezzük, hogy elolvasta az első részt, így a példák a korábban tárgyalt fogalmak közül sokat fognak használni. Tehát, ha átfutotta a könyv egy részét, időnként vissza kell térnie az előző fejezetekhez, és utol kell érnie.

Egyszerű linkek

<а href = "date.php">

$link = "dátum.php";

nyomtatás"<а href = \"$link\">Tekintse meg a mai dátumot
\n"

Felmerülhet a kérdés, hogy miért van fordított perjel (\) az idézőjelek (") előtt a hivatkozási kódban? Ennek az az oka, hogy az idézőjelek speciális karakterek a PHP-ben, és karakterlánc-határolóként használatosak. Ezért az idézőjelek szó szerinti karakterláncok a karakterláncokban. árnyékolni kell .

Ha idegesít az idézőjelek elkerülése, kapcsolja be a magic_quotes_gpc módot a php.ini fájlban. Az eredmény az összes aposztróf, idézőjel, fordított perjel és null karakter. automatikusan kikerülnek a szövegben!

Fejlesszük tovább a megadott példát. A hivatkozások listájának gyors megjelenítéséhez a böngészőben használhat egy tömböt:

// Hozzon létre szakaszok tömbjét

$contents - array("oktatóanyagok", "cikkek", "scriptek", "kapcsolat");

// A tömb minden egyes elemét egymás után kiadja és kiadja

for ($i = 0; $i< sizeof($contents; $i++)

nyomtatás" ".$contents[$i]."
\n";

// - a marker point endfor speciális megjelölése;

Fájlösszetevők (sablonok)

Elérkeztünk az egyik kedvenc PHP funkciómhoz. A sablon (a webes programozáshoz alkalmazva) egy webdokumentum része, amelyet több oldalon fog használni. A sablonok, akárcsak a PHP-függvények, megkímélik az oldaltartalom és a programkód töredékeinek másolásával/beillesztésével járó fáradságtól. Az oldal léptékének növekedésével a sablonok jelentősége megnő, mivel ezek segítségével egyszerűen és gyorsan végezhet módosításokat a teljes oldal szintjén. Ez a rész ismertet néhány olyan lehetőséget, amelyek a legegyszerűbb sablonok használatakor nyílnak meg.

Általában a közös tartalom-/kóddarabokat (azaz sablonokat) külön fájlokban tárolják. Egy webdokumentum elkészítésekor ezeket a fájlokat egyszerűen „beilleszti” az oldal megfelelő helyeire. A PHP két funkcióval rendelkezik erre: include() és request().

include() és követelmény()

A PHP egyik legkiemelkedőbb tulajdonsága, hogy képes sablonokat és programkönyvtárakat készíteni, majd új szkriptekbe beilleszteni. A könyvtárak használatával időt és erőfeszítést takaríthat meg a különböző webhelyek közös funkcióinak használatából. Az olvasók

más nyelveken (pl. C, C++ vagy Java) szerzett programozási tapasztalat, a függvénykönyvtárak fogalmának ismerete és a funkcionalitást bővítő programokban való használatuk.

Egy vagy több fájl beillesztése egy szkriptbe a szabványos PHP request() és include() függvényekkel történik. Amint azt a következő részben látni fogjuk, ezen funkciók mindegyike egy adott helyzetben használatos.

Funkciók

A PHP négy funkcióval rendelkezik a fájlok PHP szkriptekbe való beillesztésére:

  • include();
  • include_once();
  • megkövetel();
  • igényel_egyszer().

A nevek hasonlósága ellenére ezek a funkciók különböző feladatokat látnak el.

Az include() függvény tartalmazza a fájl tartalmát egy szkriptben. Az include() függvény szintaxisa a következő:

tartalmazza (fájlfájl]

Az include() függvénynek van egy érdekes tulajdonsága – feltételesen végrehajtható. Például, ha egy függvényhívás szerepel egy if utasításblokkban. akkor a fájl csak akkor kerül be a programba, ha az i f feltétel igaz. Ha az includeO függvényt egy feltételes parancsban használjuk, akkor az kell göndör kapcsos zárójelekbe vagy alternatív határolókba kell foglalni. Hasonlítsa össze a szintaktikai különbségeket a 9.1 és 9.2 listákban.

Felsorolás 9.1. Az include() helytelen használata

ha (some_conditional)

include("text91a.txt"); más

include("text91b.txt");

Felsorolás 9.2. Az include() helyes használata

if (some_conditional):

include("text91a.txt");

include("text91b.txt");

Az include fájlban található összes PHP kód Szükségszerűen PHP címkékben van. Ne feltételezze, hogy egy PHP parancs fájlban való tárolása biztosítja a megfelelő feldolgozást:

Ehelyett a parancsot a megfelelő címkék közé kell csatolnia, amint az a következő példában látható:

print "ez érvénytelen belefoglaló fájl";

Az include_once() függvény ugyanazt teszi, mint az include(), egy kivétellel: ellenőrzi, hogy a fájl szerepel-e már, mielőtt bekerülne a programba. Ha a fájl már szerepel, akkor az include_once() hívás figyelmen kívül marad, ha pedig nem, akkor a fájl alapértelmezés szerint szerepel. Minden más tekintetben az include_once() nem különbözik az include()-tól. Az include_once() függvény szintaxisa a következő:

include_once (fájlfájl)

Általánosságban elmondható, hogy a request() függvény hasonló az include() függvényhez -- tartalmazza a sablont is a követelmény() hívást tartalmazó fájlban. A request() függvény szintaxisa a következő:

igényel (fájlfájl)

Van azonban egy fontos különbség a request() és include() függvények között. A request() paraméter által megadott fájl szerepel a szkriptben, függetlenül attól, hogy a parancsfájlban hol található a request(). Ha például hamis feltételű if blokkban hívja meg a requestre() függvényt, akkor a fájl továbbra is benne lesz a szkriptben!

Sok esetben célszerű létrehozni egy fájlt a változókkal és egyéb információkkal, amelyeket a webhelyen használnak, majd szükség szerint hozzáadni azokat. Bár ennek a fájlnak a neve tetszőleges, általában init.tpl-nek hívom (az "initializaion.template" rövidítése). A 9.3-as lista megmutatja, hogyan néz ki egy nagyon egyszerű init.tpl fájl. A 9-4. listában az init.tpl tartalma a request() paranccsal szerepel a szkriptben.

Felsorolás 9.3. Példa inicializálási fájl

$site_title = "PHP receptek";!}

$contact_email = " [e-mail védett]";

$contact_name = "WJ Gilmore";

Felsorolás 9.4. Az init.tpl fájl használata

<? print $site_title; ?>

\"mail1 to:$contact_email\">$contact_name."; ?>

URL átadása a request() meghívásakor csak akkor engedélyezett, ha az "URL fopen wrappers" mód engedélyezve van (ez a mód alapértelmezés szerint engedélyezve van).

A webhely méretének növekedésével előfordulhat, hogy egyes fájlok többször is szerepelnek a szkriptben. Néha ez nem okoz problémát, de bizonyos esetekben a fájl újbóli engedélyezése visszaállítja a megváltozott változókat. Ha a függvények egy include fájlban vannak definiálva, névütközések léphetnek fel. Ezzel elérkezünk a következő függvényhez, a request_once().

A request_once() függvény biztosítja, hogy a fájl csak egyszer kerüljön bele a szkriptbe. A requi re_onse() meghívása után a rendszer figyelmen kívül hagyja az összes további próbálkozást ugyanazon fájl felvételére. A request_onse() függvény szintaxisa a következő:

A webalkalmazások méretének növekedésével valószínűleg gyakrabban fogja használni a file include funkciót. Ezeket a függvényeket gyakran használják a könyv példáiban a kódredundancia csökkentése érdekében. Az első példákat az alapsablonok készítésének alapelveiről szóló következő részben tárgyaljuk.

Épületelemek

Egy tipikus weboldal szerkezetének meghatározásakor általában három részre bontom: fejlécre, törzsre és láblécre. Általában a legtöbb jól szervezett webhely címsora nem sokat változik; a fő rész az oldal kért tartalmát jeleníti meg, így az gyakran változik; Végül a lábléc szerzői jogi információkat és navigációs hivatkozásokat tartalmaz. A lábléc a fejléchez hasonlóan általában változatlan marad. Ne értsen félre – egyáltalán nem próbálom elfojtani a kreativitásodat. Sok nagyszerű webhelyet láttam, amelyek nem követték ezeket az elveket. Csak egy általános struktúrát próbálok kidolgozni, amely kiindulópontul szolgálhat a további munkához.

fejléc

Fejlécfájl (mint a 9.5-ös listában) szinte minden PHP-képes webhelyemen megtalálható. Ez a fájl tartalmazza

az egész webhelyre kiterjedő információk, például a cím, a kapcsolatfelvételi adatok és a HTML-oldal kódjának bizonyos összetevői.

Felsorolás 9.5. Példa fejlécfájlra

// Fájl: header.tpl

// Cél: fejlécfájl a PhpRecipes webhelyhez.

$site_name = "PHPRreceptek";

$site_email=" [e-mail védett]";

$site_path = "http://localhost/phprecipes";

<? print $site_name; ?>

// Az aktuális dátum és idő megjelenítése

dátum nyomtatása("F d, h:i a");

Nagyon gyakori, hogy a látogatók korlátozzák a hozzáférést a fájlok felvételére, különösen akkor, ha a fájlok érzékeny információkat (például jelszavakat) tartalmaznak. Az Apache-ban a http.conf vagy htaccess fájlok szerkesztésével megakadályozhatja bizonyos fájlok megtekintését. A következő példa bemutatja, hogyan lehet letiltani az összes .tpl fájl megtekintését:

parancs engedélyezni, megtagadni

Engedélyezés 127.0.0.1-től

A PHP és a webhely biztonsági kérdéseivel részletesen a 16. fejezet foglalkozik.

Élőfej

Fejlécnek (láblécnek) szokás nevezni az oldal oldalainak alján található információkat - elérhetőségeket, linkeket és szerzői jogi információkat. Ezeket az információkat külön fájlba lehet helyezni, és ugyanúgy sablonként szerepeltetni, mint a fejlécben. Tegyük fel, hogy az új év eljövetelével meg kellett változtatnia a szerzői jogi információkat, és a "Copyright © 2000-2001" formába kellett volna vinnie. Két módja van: töltsd a szentestét statikus oldalak százainak lázas szerkesztésével vagy használjon olyan sablont, mint a 9.6-os listában. Egy egyszerű változtatás, és visszatérhet az ünnepi munkákhoz.

Felsorolás 9.6. Példa láblécfájlra (footer.tpl)

kapcsolatba lépni |

az Ön adatait

Vegye figyelembe a $site_email globális változó használatát a láblécfájlban. Ennek a változónak az értéke oldalszintű, és feltételezzük, hogy a header.tpl és a footer.tpl fájl ugyanazon az utolsó oldalon lesz. Vegye figyelembe a $site_path jelenlétét is az Adatvédelem hivatkozásban. A sablonjaimban mindig feltüntetem az összes hivatkozás teljes elérési útját – ha a link URL-je a privacy.php egyetlen névből állna, akkor a láblécfájl egy adott könyvtárba kerülne.

Fő rész

A fejléc és a lábléc tartalma az oldal fő részében található. Lényegében ez a fő rész, amely a webhely látogatóit érdeklő információkat tartalmazza. A fejléc látványosan néz ki, a lábléc hasznos információkat tartalmaz, de az oldal fő részére az, hogy a felhasználók újra és újra visszatérnek az oldalra. Bár a konkrét oldalszerkezettel kapcsolatban nem tudok tanácsot adni, az olyan sablonok, mint a 9-7. listában szereplő, jelentősen megkönnyítik az oldaladminisztrációt.

Felsorolás 9.7. Példa az oldal főtörzsére (index_body.tpl)

/tutorials.php">oktatóanyagok

cikkek

scriptek

kapcsolat

Üdvözöljük a PHPRecipes oldalán. PHP szkriptek, oktatóanyagok kiindulópontja,

és információk az ínyenc főzésről!

Mindent összerakva: fejléc, lábléc és törzs

Talán a hangulatomat leginkább "Hannibal" Smith ezredes (George Peppard) fejezi ki a híres A-Team sorozatból: "Imádom, ha minden a helyére kerül." Valami hasonlót tapasztalok, amikor különböző sablonokat kombinálunk egy teljes webdokumentummá. Három dokumentumszakasz: header.tpl, index_body.tpl és footer.tpl kombinálásával gyorsan elkészíthet egy egyszerű oldalt, mint a 9-8. listában.

Felsorolás 9.8. Az index.php oldal felépítése több fájl hozzáadásával

// Fájl: index.php

// Cél: PHPRecipes kezdőlap

// Cím megjelenítése

include("header.tpl");

// Kimeneti főtörzs

include("index_body.tpl");

// Kimeneti lábléc

include("lábléc.tpl");

Nos, hogyan? Három egyszerű parancs – és máris kész oldal áll előtted. Az összefoglaló oldal szövege a 9.9-es listában látható.

Felsorolás 9.9. A 9-8. listába beépített HTML oldal (index.php)

PHPReceptek

augusztus 23. 15:17

oktatóanyagokat

cikkeket

forgatókönyvek

kapcsolatba lépni

Üdvözöljük a PHPRecipes-ben, amely a PHP szkriptek, oktatóanyagok kiindulópontja,

és ínyenc főzési tippeket és recepteket!

Copyright 2000 PHPRecipes. Minden jog fenntartva.

kapcsolatba lépni |

a magánéletét

ábrán. A 9-1. ábra azt mutatja, hogyan néz ki az eredményül kapott oldal a böngészőben. Bár általában nem használok táblázatszegélyeket, ezúttal azért tettem bele, hogy az oldal három része jobban kiemelkedjen az ábrán.

Rizs. 9.1. A listába épített oldal megjelenése 9.8

Sablon optimalizálás

A második (szerintem előnyösebb) változatban a sablonok külön fájlban elhelyezett függvények formájában készülnek. Ez további strukturálást biztosít a sablonokhoz. Ezt a fájlt inicializálási fájlnak nevezem, és más hasznos információkat tárolok benne. Mivel már megnéztük a viszonylag hosszú fejléc- és lábléc-példákat, a 9-10. és 9-11. listákat kissé lerövidítettük az új ötlet illusztrálására.

Listázás 9.10. Optimalizált webhelysablon (site_init.tpl)

// Fájl: site_init.tpl

// Cél: PhpRecipes inicializálási fájl

$site_name = "PHPRreceptek";

$site_email = " [e-mail védett]";

$site_path = "http://localhost/phprecipes/";

függvény show_header($site_name) (

<? print $site_name: ?>

Ez a fejléc

függvény show footer()

Ez a lábléc

Felsorolás 9.11. Inicializáló fájl alkalmazása

// Inicializációs fájl szerepeltetése

include("site_init.tpl");

// Cím megjelenítése

fejléc megjelenítése($webhely_neve);

// Törzstartalom Ez néhány testinformáció

// Lábléc megjelenítése Show_footer();

Projekt: oldalgenerátor

Míg az általam készített weboldalak többsége az adatbázisból leolvasott információk alapján generálta az oldalak fő tartalmát, mindig lesz néhány oldal, amely alig változik. Különösen a fejlesztőcsapattal kapcsolatos információkat, elérhetőségeket, hirdetéseket stb. tudnak megjeleníteni. Ezeket a "statikus" információkat általában egy külön mappában tárolom, és egy PHP szkript segítségével töltöm be, amikor kérik. Természetesen van egy kérdés - ha ez statikus információ, akkor mire való a PHP szkript? Miért nem tölt be normál HTML oldalakat? A PHP előnye, hogy szükség szerint használhat sablonokat és statikus kivonatokat szúrhat be.

<а href = "/static.php?content=$content">Statikus oldalnév

Kezdjük statikus oldalak létrehozásával. Az egyszerűség kedvéért három olyan oldalra korlátozom magam, amelyek a webhelyről (9.12-es lista), hirdetésről (9.13-as lista) és elérhetőségi adatokról (9.14-es lista) tartalmaznak információkat.

Felsorolás 9.12. Webhely információ (about.html)

A PHPRecipesről

Milyen programozó nem keveri az egész éjszakás programozást ínyenc sütikkel. Itt a PHPRecipesben. alig telik el éjszaka anélkül, hogy valamelyik kódolónk ne keverjen egy kis HTML-t egy finom portobello gombával vagy akár fondüvel. Ezért úgy döntöttünk, hogy elhozzuk nektek a legjobb, amit a legjobban szeretünk: PHP és étel!

Így van, olvasók. Oktatóanyagok, forgatókönyvek, szuflák és egyebek. 0nly a PHPRecipesnél.

Rekláminformációk

Függetlenül attól, hogy a legújabb PHP technikák elsajátítására jönnek-e, vagy azért, hogy felfrissítsék a módját

csirkét sütni, fogadni lehet, hogy olvasóink döntéshozók. Ők az Ipar

szakemberek, akik döntéseket hoznak a cégük vásárlásáról.

Rekláminformációkért forduljon

">[e-mail védett].

Felsorolás 9.14. Elérhetőségek (contact.html)

Lépjen kapcsolatba velünk

Van valami kódolási tipped?

Ismeri a tökéletes feltétet a kandírozott jam?

Tudasd velünk! Vegye fel a kapcsolatot a csapattal a telefonszámon [e-mail védett].

Térjünk át a static.php oldal felépítésére, amely megjeleníti a kért statikus információkat. Ez a fájl (lásd a 9-15. listát) tartalmazza webhelyünk oldalösszetevőit és a site_init.tpl inicializálási fájlt.

Felsorolás 9.15. Statikus oldalak általános kimenete (static.php)

// Fájl: static.php

// Cél: A kért statikus oldalak megjelenítése.

// FIGYELMEZTETÉS: feltételezzük, hogy a "site_init.tpl" fájl és minden

// a statikus fájlok ugyanabban a könyvtárban vannak.

// A függvények és változók betöltése include("site_init.tpl"):

// Cím megjelenítése show_header($site_name);

// A kért tartalom megjelenítése include("$content.html"):

// Lábléc megjelenítése lábléc megjelenítése();

Most minden készen áll a fő szkript felépítéséhez. Csak adja meg az oldalt

<а href = "static.php?content=about">Statikus oldalnév

Rekláminformációk

Lépjen kapcsolatba velünk

Ezen hivatkozások bármelyikére kattintva betöltődik a megfelelő static.php-be ágyazott oldal a böngészőben!

Eredmények

Ebben a fejezetben megismerkedhetsz a PHP elsődleges céljával: a weboldalak dinamikus felépítésével. A következő kérdéseket vették figyelembe:

  • URL feldolgozás;
  • dinamikus tartalom készítése;
  • alapsablonok beépítése és felépítése.

A fejezet egy oldalgenerátorral zárul, egy olyan programmal, amely statikus oldalakat tölt be egy sablonba, és megkönnyíti a nagyszámú statikus HTML-oldal karbantartását.

A következő fejezet arról szól, hogy a PHP-t HTML-űrlapokkal kombinálva nagymértékben fokozza webhelye interaktivitását. És akkor - interakció az adatbázisokkal! Sok érdekes dolgot kell megtanulnod.

Ha hibát észlel, jelöljön ki egy szövegrészt, és nyomja meg a Ctrl + Enter billentyűket
OSSZA MEG: