Bármilyen bonyolultságú, ígéretes, bővíthető és hatékony webhely létrehozásához egyszerűen kezdje el. Ez nem egyszerű folyamat, némi PHP és MySQL alapismeretet igényel, de ha pontról pontra átgondoljuk, akkor 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 szokásos névjegykártya-oldal lesz, de aztán a funkcionalitás hozzáadásával bármivé alakíthatja. Tehát kezdjük.
1. Az adatbázis elkészítése. Hozza létre az első táblát a MySQL adatbázisban
Létrehozunk egy új adatbázist, például "mysite". Én személy szerint hozzászoktam az UTF-8 kódoláshoz, ezért azonnal lefoglalom: ügyeljen arra, hogy az oldal összes szöveges fájlja, maga az alap, a táblák és a táblázat mezői azonos kódolásban legyenek.
Az új adatbázisban táblázatot készítünk. Nevezzük "oldalaknak". Ez a táblázat a jövőbeli webhely statikus oldalait és az azokra vonatkozó információkat tárolja. A táblázatnak a következő mezőket kell tartalmaznia:
- page_id - oldalazonosító (SMALLINT, elsődleges kulcs, auto_increment);
- page_alias - oldalálnév a CNC címsorhoz (VARCHAR, 255);
- page_title - az oldal címe a böngészőablakban (VARCHAR, 255);
- page_meta_d – a következőhöz tartozó oldal meta leírása meta tag leírás (VARCHAR, 255);
- page_meta_k - meta kulcsszavakat a meta kulcsszavak címké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 (SZÖVEG) formájában vannak;
- page_content - az oldal fő szövege, amely a webhely központi oszlopában fog megjelenni (SZÖVEG);
- page_publish - "Y"-t tartalmaz - ha az oldal megjelent, vagy "N" -et - ha rejtett (CHAR, alapértelmezés szerint "Y").
Közvetlenül a táblázat létrehozása után szúrjon be é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” „about” aliassal és saját metacímkéivel, vagy „Kapcsolattartókat” a „kapcsolatok” álnévvel 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, hozzon létre egy "cfg" mappát, amelyben a .htaccess használatával zárja be a hozzáférést a "deny from all" utasítással. Hozzon létre egy core.php fájlt a következő tartalommal:
// MYSQL
osztály MyDB
{
var $ dblogin = "root"; // AZ ÖN BEJELENTKEZÉSE AZ ADATBÁZISBA
var $ dbpass = ""; // AZ ADATBÁZISJELSZAVA
var $ db = "saját webhely"; // A TELEPBÁZIS NEVE
var $ dbhost = "localhost";
Var $ link;
var $ lekérdezés;
var $ err;
var $ eredmény;
var $ adatok;
var $ fetch;
Csatlakozás funkció () (
$ this-> link = mysql_connect ($ this-> dbhost, $ this-> dblogin, $ this-> dbpass);
mysql_select_db ($ this-> db);
mysql_query ("NEVEK BEÁLLÍTÁSA utf8");
}
Funkció bezárása () (
mysql_close ($ this-> link);
}
Függvény futtatása ($ lekérdezés) (
$ this-> query = $ lekérdezés;
$ this-> result = mysql_query ($ this-> query, $ this-> link);
$ this-> err = mysql_error ();
}
függvénysor () (
$ this-> data = mysql_fetch_assoc ($ this-> result);
}
függvény lekérése () (
while ($ this-> data = mysql_fetch_assoc ($ this-> result)) (
$ this-> fetch = $ this-> data;
return $ this-> fetch;
}
}
funkció stop () (
unset ($ this-> data);
unset ($ this-> result);
unset ($ this-> fetch);
unset ($ this-> err);
unset ($ this-> query);
}
}
Ez a fájl eddig csak egy egyszerű osztályt tartalmaz az adatbázishoz való csatlakozáshoz, de a jövőben különféle hasznos funkciókkal egészíthetjük ki, amelyek az oldal kódjában bárhonnan elérhetőek lesznek. Ne felejtse el megváltoztatni az adatbázis felhasználónevét és jelszavát.
Ha Windows környezetben dolgozik, javasolni tudom egy szerkesztő használatát. 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 a webhely gyökérmappájában hozzon létre index.php-t - ez lesz a webhely fő szkriptje, egyfajta "fővezérlő". Index.php fájl tartalma:
define ("INDEX", ""); // A FŐ VEZÉRLŐÁLLÓ BEÁLLÍTÁSA
Require_once ($ _ SERVER. "/ Cfg / core.php"); // A MAG CSATLAKOZTATÁSA
// KAPCSOLAT A DB-HEZ
$ db = új MyDB ();
$ db-> connect ();
// FŐ VEZÉRLŐ
kapcsoló ($ _GET) (
eset "oldal":
include ($ _ SERVER. "/ com / page.php");
szünet;
alapértelmezett:
include ($ _ SERVER. "/ com / home.php");
szünet;
}
Include ($ _SERVER. "/ Template.php");
$ db-> bezár ();
A $ _GET változó kérésre megmondja a fő vezérlőnek, hogy melyik webhely összetevőt kell betölteni. Oldalunk már csak két komponenst tartalmaz: "oldal" és "kezdőlap" (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 menüelemek szokásos oldalaitól ). A fővezérlő logikája a következő: a szükséges komponens nevét az URL karakterláncból (a $ opció változó értéke) kinyerjük, ennek értékétől függően magának a komponensnek a fájlja kapcsolódik (a / com mappa). A komponensfájl elvégzi az összes szükséges munkát, kivonatolja az adatbázisból, és változókba írja a tervezősablonba való átvitelhez. A legvégén csatlakozik az oldalterv fájl, amelybe a komponensekből kinyert összes változó és adat átkerül. Ez sokkal nehezebben hangzik, mint ahogy működik.
4. Hozzon létre egy kimeneti komponenst egy normál oldalhoz
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 olyan fájl, amelyben a webhely különböző szakaszaihoz tartozó adatokat dolgozzák fel. Például egy normál oldal komponense kivonja 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, $ tartalom 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 áruk adataival - és vannak konkrét jellemzők, egyéb 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 egy komponens modellként működik.
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-> futás ($ lekérdezés);
$ db-> sor ();
// 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) (
fejléc ("HTTP / 1.1 404 nem található");
$ component = "404-es HIBA! Ez az oldal nem létezik";
}
$ db-> stop ();
5. Hozza létre a főoldal megjelenítési összetevőjét
Adatbázisunk főoldala "otthon" álnéven található, és eddig felépítésében nem különbözik az oldal szokásos oldalaitól - ez csak egy cikk. Ennek ellenére külön komponenst fogunk készíteni neki - úgymond a jövőre nézve.
A "com" mappában található "home.php" komponens tartalma majdnem megegyezik egy normál oldalkomponens tartalmával, kivéve az alaphoz tartozó lekérdezési karakterláncot é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ési sablont a teljes webhelyhez
A webhely gyökerében hozzon létre egy template.php fájlt. Alapvetően ez egy normál HTML + CSS webdesign elrendezés, csak PHP változókkal a megfelelő helyeken. Helyezze be a címcímkék közé=$title?>, az oldal központi oszlopában egy betét található=$component?>és így az egész sablonban elrendezzü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, a szabályok közvetlen utasításaival minden komponenshez külön-külön, mivel a címsor elemzését a vezérlő segítségével redundáns funkciónak tartom. A Htacces tartalom ebben a szakaszban a következő:
RewriteEngine On
RewriteBase /
RewriteCond% (REQUEST_FILENAME)! -D
RewriteCond% (REQUEST_FILENAME)! -F
# TILTOTT FÁJLOK
RewriteRule .htaccess - [F]
RewriteRule template.php - [F]
# SZABÁLYOK mod_rewrite
RewriteRule oldal / (+) ([\ /] (0,1)) \. Htm $ index.php? Option = oldal és alias = 1 $ [L]
A jövőben szabályokat fogunk hozzáadni a keresési összetevőkre, katalógusokra, blogcikkekre stb. Csak egy pont van: az olyan hivatkozások, mint a "mysite.com/index.php?option=pages&alias=about" átalakítása olyan hivatkozásokká, mint a "mysite.com/pages/about.htm", nagyon jól néz ki. Biztonsági okokból próbálja elkerülni a $ _GET tömböt, és hagyatkozzon rá. Célszerű csak a fővezérlő (a $ opció változója) és a komponens (a $ alias változó) paramétereit tárolni.
Szintén a webhely minden mappájában "csak abban az esetben" hozzon létre egy üres index.html fájlt - erre azért van szükség, hogy amikor a címsoron keresztül hozzáfér a könyvtárhoz, semmi sem jelenik meg.
Címkék: php, mysql, oldalmotor, vezérlő, oldalkészítés, mvc
Itt csak statikus oldalakról beszéltünk, vagyis olyanokról, amelyek bárhogyan is érintkezik velük, mindig változatlanok maradnak, és ahhoz, hogy tartalmuk vagy dizájnjuk megváltozzon, az oldal tulajdonosának kézzel kell szerkesztenie a kódot.
Dinamikus oldalak és amire szükségük van
A statikus oldalakon kívül vannak dinamikus oldalak is. Jelenleg a legtöbb van az interneten. A bennük lévő információk innen töltődnek be külső források például egy adatbázis vagy más fájlok. Az ilyen oldalak tartalma és formázása a felhasználói interakciótól függően változhat. A dinamikus oldalak szerkesztéséhez nem szükséges beavatkozni a kódjukba - elég a tartalmat megváltoztatni egy speciálisan erre kialakított fájlban vagy adatbázisban, ami egyébként szintén egy fájl, csak bizonyos módon felépített.
A HTML és a CSS önmagában nem elegendő dinamikus webhelyek létrehozásához. Programozási nyelveket, valamint adatbázisokat és lekérdezési nyelveket is használ hozzájuk. Leggyakrabban modern dinamikus webhelyeket használnak hogyan működik a HTML, CSS, PHP, JavaScript, SQL. Az első két rövidítést már ismeri első kézből, az SQL-t használják az adatbázisok elérésére, a JavaScript egy kliens nyelv, amelynek parancsait a böngésző dolgozza fel, és gyakran használják mindenféle szépség megjelenítésére, például függönyök vagy simán nyíló fényképek, de a PHP egy szerveroldali programozási nyelv , amely többek között az oldal tartalmával is együttműködik, dinamikussá teszi, ma vele fogunk kapcsolatba lépni.
Példa az include parancs használatára
Az előző cikkben beszéltem a webhely blokk elrendezéséről, és egy példát mondtam a legegyszerűbb oldal(dokumentum index.htmlés a hozzá csatolt fájlt stílus.css).
Most felosztjuk a dokumentumot index.html több fájlba, amelyek mindegyike tartalmazni fogja a saját oldalrészét, ami segít még jobban felosztani a kódot, javítja a sablon szerkezetét, sőt, dinamikussá teszi az oldalt. Erre a célra a PHP nyelvet fogjuk használni, vagy inkább csak az egyik direktíváját - a függvényt tartalmazza () amely az egyik fájlt a másikba foglalja.
1. Módosítsa a blokkelrendezésről szóló cikkben létrehozott fájl felbontását index val vel .html tovább .php hogy a dokumentumot hívják index.php... Fájltípus .PHP jelzi a szervernek, hogy a dokumentumot írták, vagy beszúrásokat használ az azonos nevű programozási nyelven.
2. Az oldalt tartalmazó mappában hozzon létre egy könyvtárat blokkok.
3. Minden kiegészítő információ (felső, alsó, navigációs és oldalsó panel site) külön fájlokban kerülnek elhelyezésre, amelyek a mappába kerülnek blokkok.
Tehát hozzon létre négy fájlt a blocks könyvtárban: header.php, navigation.php, sidebar.phpés lábléc.php... Töltse ki a fájlokat kóddal.
fejléc (webhely fejléce)
4. Ellenőrizze a sablon mappaszerkezetét. A fájloknak a gyökérben kell lenniük index.php, stílus.cssés címtár blokkok.
Mappa szerkezete blokkok ilyennek kell lennie.
5. A fájlban index.php távolítsa el a meglévő kódot, és írjon egy újat:
Főoldal tartalma
A böngészőben az index.php fájl pontosan ugyanúgy néz ki, mint korábban, de a sablon szerkezete teljesen megváltozott. A történtekről később beszélünk, most pedig a forma titokzatos parancsaira vonatkozó kérdésre válaszolunk .
A HTML kódhoz hasonlóan a PHP kódnak is megvan a maga kezdete és vége. Tehát a PHP beillesztést a paranccsal kell elindítani , és egy sorral fejezzük be ?> ... A fő kód e parancsok közé van írva. A mi esetünkben ez csak egy parancs - tartalmazza.
Funkció tartalmazza () egy másik fájl kódját illeszti be egy fájlba, lehetővé téve az oldal különböző részeinek tárolását különböző dokumentumokban, ezáltal megbízhatóan elválasztva őket egymástól.
Az elvégzett akciók eredményeként dinamikus oldalt kaptunk index.php, amelynek részei különböző fájlokból töltődnek be. Ennek köszönhetően más oldalakat is létrehozhat, ugyanúgy betöltve a mappafájlok segédelemeit. blokkok.
Ez a megközelítés azért jó, mert ha mondjuk egy 20-30 oldalas oldalon egy menüpont nevét szeretné megváltoztatni, akkor az újonnan létrehozott struktúrájú sablonban csak egy fájlt kell szerkeszteni - blokkok / navigáció .php, és a menü azonnal megváltozik minden olyan oldalon, amelyen szerepel. Ha az oldal statikus lenne, akkor az egyik menüpont nevének megváltoztatásához módosítania kell minden 20-30 oldal között. A különbség nyilvánvaló.
Utolsó frissítés: 2015.11.1
Most egy kis weboldalt fogunk létrehozni, amelynek célja, hogy kezdeti ismereteket adjon a PHP-vel való munkavégzésről.
PHP programok létrehozásához szükségünk van egy szövegszerkesztőre. A legnépszerűbb program ma a Notepad ++
Menjünk a korábban létrehozott C: \ localhost könyvtárba, amely az oldal összes dokumentumát tárolja. Alkossunk szöveges fájlés nevezzük index.html... Nyissuk ki szöveg szerkesztőés add hozzá a következő kódot:
Adja meg adatait:
A html kód kettős űrlapot tartalmaz szöveges mezőket... A gombra kattintva ennek az űrlapnak az adatai elküldésre kerülnek a display.php szkriptnek az action attribútumban megadott módon.
Most hozzuk létre ezt a szkriptet, amely feldolgozza az adatokat. Hozzáadás a mappához C: \ localhostúj szöveges fájl. Nevezzük át display.php-re. Alapértelmezés szerint a php programfájlok a kiterjesztéssel rendelkeznek .php... Tehát adjuk hozzá a következő kódot a display.php fájlhoz:
Itt már a html jelölésben PHP kódok vannak közbeiktatva. A címkék PHP kifejezések hozzáadására szolgálnak az oldalhoz, amelyek között vannak utasítások a PHP nyelv... V php kód megkapjuk az űrlapadatokat és kiadjuk az oldalra.
Minden egyes PHP kifejezést pontosvesszővel kell lezárni. V ebben az esetben három kifejezésünk van. Ketten kapják meg a beküldött űrlapadatokat, például: $ név = $ _POST ["keresztnév"]; ...
A $ név egy változó, amely bizonyos értéket tárol. Minden PHP-változó előtagja $. És mivel az index.html oldalon lévő űrlap a POST metódust használja a beküldéshez, a $ _POST ["firstname"] kifejezés használatával megkaphatjuk azt az értéket, amelyet a name = "firstname" attribútummal írtunk be a szövegmezőbe. És ez az érték a $ név változóba kerül.
Az echo utasítás használatával bármilyen értéket vagy szöveget kinyomtathat az oldalra, amely az utasítást követi. Ebben az esetben (echo "Az Ön neve: ". $ név." ". $ vezetéknév."") a pont karakter használatával az idézett szöveg összefűződik a $ név és a $ vezetéknév változók értékeivel, és megjelenik az oldalon.
Most térjünk át a beviteli űrlapra a címre lépve http:// localhost: 8080:
Adjunk meg néhány adatot, és kattintsunk a küldés gombra:
Tehát a forgatókönyv nekünk bevált display.php amely fogadta és megjelenítette az oldalon az elküldött adatokat.
Óvintézkedéseket kell tenni. Mert az erőforrás rendkívül dinamikusnak bizonyulhat. Ez és nézd, meg fog harapni!
PHP és HTML
Ez a két tudományág ma már szinte összekapcsolódik. Tandemük az az alap, amelyre az internet nagy részének "élete" épül. Természetesen más szerveroldali nyelvek (Perl, ASP.NET) is használatosak a html-mel együtt. De elterjedtségük a World Wide Web-en a PHP-hez képest pusztán epizodikus.
A statisztikák szerint az Internet legtöbb forrásának architektúrája php és html alapján épül fel.
Sok kezdő számára zavaró a kapcsolat ezen technológiák között. Egyrészt statikus html, amit a kliens oldalon a böngészők értelmeznek. Másrészt ez egy programozási nyelv, amelyet a szerver dolgoz fel. Ezért, mielőtt a semmiből írna egy webhelyet php-ben, adunk egy egyszerű példát e két technológia kölcsönhatására:
- Hozzunk létre egy új fájlt php kiterjesztéssel;
- Tegyük oda a következő kódot:
- Mentse el a fájlt ide helyi szerverés nyissa meg a böngészőben. Ezután nyomja meg a jobb egérgombot, és lépjen be helyi menü válassza ki az elemet" Kilátás html oldal ».
Ahogy a képernyőképen is látható, a vonalnem jelenik meg az oldal html kódjában. A böngészőben és a kódban is csak a visszaadott dátum és idő látható. Ez azt jelenti, hogy a szkript feldolgozásra került a szerver oldalon. Ezért egy weboldal készítése php-ben alapvetően különbözik az egyszerű html oldalak írásától.
Dinamikus webhely
A modern webhelyeknek két fő típusa van:
- Statikus – csak ekkor jött létre html alapú... Az ilyen webhelyek nem változtatják meg tartalmukat a felhasználói műveletek hatására. Természetesen egy statikus erőforrás reagálhat az eseményekre és a felhasználói műveletekre. Az oldalak agilitásának ügyféloldali megvalósítása azonban szűk alkalmazási körrel rendelkezik, amelyet a Java Script képességei korlátoznak.
A Java Script kód az ügyféloldali böngészőben fut le.
- Dinamikus - állapotuk és tartalmuk megváltoztatására képes - dinamikus oldalak html oldalai menet közben, kódfuttatáskor jönnek létre a böngészőtől a szerver felé küldött felhasználói kérésre válaszul. A szerveroldali oldalak leggyakrabban php-ben írt kóddal jönnek létre.
Egy dinamikus php webhely a következő fájlokból áll:
- index.php - a fő projektfájl;
- Sablonok – tartalmazzák az oldal egy bizonyos részének szerkezetét ( sapkák, pince, főtest);
- CSS-fájlok – tartalmazzák az erőforrás összes stílusleírását.
Ezen túlmenően egy webhelyprojekt állhat a függvények és php metódusok kódját tároló fájlokból. És tartalmazzon egy adatbázist is.
A legtöbb CMS-ben a dinamikusan generált szerveroldali oldalak kitöltésének tartalomforrása egy adatbázis. A leggyakrabban használt DBMS a MySQL.
Hogyan írjunk weboldalt PHP-ben
Ha meg szeretné érteni, hogyan készül egy webhely php-ben, fontolja meg gyakorlati példa... Természetesen sok minden leegyszerűsödik benne, de a teljes munkamechanizmus és a teremtés szakaszai megmaradnak.
Van egy html oldal a következő felépítéssel és kialakítással:
A kódja: