Դինամիկ էջեր PHP-ում. PHP. Դինամիկ էջի ստեղծում php ինդեքսի ստեղծում

Մենք միայն խոսեցինք ստատիկ էջեր, այսինքն՝ նրանք, որոնք, անկախ նրանից, թե ինչպես է օգտատերը շփվում նրանց հետ, միշտ մնում են անփոփոխ, և որպեսզի դրանց բովանդակությունը կամ դիզայնը փոխվի, էջի սեփականատերը պետք է ձեռքով խմբագրի կոդը։

Դինամիկ էջեր և դրանց կարիքը

Բացի ստատիկից, կան նաև դինամիկ էջեր։ Նրանց մեծ մասն այժմ համացանցում է։ Դրանցում առկա տեղեկատվությունը բեռնվում է արտաքին աղբյուրներից, ինչպիսիք են տվյալների բազան կամ այլ ֆայլեր: Նման էջերի բովանդակությունը և ձևաչափը կարող են փոխվել՝ կախված օգտատիրոջ գործողություններից: Դինամիկ կայքերը խմբագրելու համար պետք չէ միջամտել դրանց կոդին. բավական է փոխել բովանդակությունը հատուկ մշակված ֆայլում կամ տվյալների բազայում, որը, ի դեպ, նույնպես ֆայլ է՝ միայն որոշակի ձևով կառուցված։

Դինամիկ կայքեր ստեղծելու համար միայն HTML և CSS-ը բավարար չէ։ Այն նաև օգտագործում է ծրագրավորման լեզուներ, ինչպես նաև տվյալների բազաներ և հարցումների լեզուներ նրանց համար: Ամենից հաճախ ժամանակակից դինամիկ կայքերն իրենց աշխատանքում օգտագործում են HTML, CSS, PHP, JavaScript, SQL: Առաջին երկու հապավումներն արդեն իսկ ծանոթ են ձեզ, SQL-ն օգտագործվում է տվյալների բազա մուտք գործելու համար, JavaScript-ը հաճախորդի կողմից օգտագործվող լեզու է, որի հրամանները մշակվում են զննարկիչի կողմից և հաճախ օգտագործվում են ձեզ ցուցադրելու բոլոր տեսակի գեղեցկություններ, ինչպիսիք են վարագույրները կամ սահուն բացվող լուսանկարները: բայց PHP-ն սերվերի կողմից ծրագրավորման լեզու է, որն աշխատում է, ի թիվս այլ բաների, կայքի բովանդակության հետ և դարձնում այն ​​դինամիկ, մենք այսօր կկապվենք դրա հետ:

Ներառում հրամանի օգտագործման օրինակ

Նախորդ հոդվածում ես խոսեցի կայքի բլոկային դասավորության մասին և որպես օրինակ բերեցի ամենապարզ էջը (փաստաթուղթ. index.htmlև դրա հետ կապված ֆայլը style.css).

Այժմ մենք կբաժանենք փաստաթուղթը index.htmlմի քանի ֆայլերի մեջ, որոնցից յուրաքանչյուրը կպարունակի էջի իր հատվածը, որը կօգնի հետագայում առանձնացնել կոդը, բարելավել կաղապարի կառուցվածքը և, փաստորեն, էջը դինամիկ դարձնել։ Այդ նպատակով մենք կօգտագործենք PHP լեզու, ավելի ճիշտ՝ նրա դիրեկտիվներից միայն մեկը՝ ֆունկցիան ներառում(), որը ներառում է մեկ ֆայլ մյուսի մեջ:

1. Փոխեք բլոկի դասավորության մասին հոդվածում ստեղծված ֆայլի թույլտվությունը ցուցանիշըՀետ .htmlվրա .phpփաստաթուղթը անվանելու համար index.php. Ֆայլի տեսակը .PHPցույց է տալիս սերվերին, որ փաստաթուղթը գրվել է կամ օգտագործում է ներդիրներ նույնանուն ծրագրավորման լեզվով:

2. Էջով թղթապանակում ստեղծեք գրացուցակ բլոկներ.

3. Բոլոր օժանդակ տեղեկությունները (վերև, ներքև, նավիգացիա և կողագոտկայք) մենք կհանենք առանձին ֆայլեր, որոնք կտեղադրենք թղթապանակում բլոկներ.

Այսպիսով, բլոկների գրացուցակում ստեղծեք չորս ֆայլ. header.php, navigation.php, sidebar.phpԵվ footer.php. Լրացրեք ֆայլերը կոդով:

4. Ստուգեք կաղապարի թղթապանակի կառուցվածքը: Ֆայլերը պետք է լինեն արմատում index.php, style.cssև գրացուցակ բլոկներ.

Թղթապանակի կառուցվածքը բլոկներպետք է լինի այսպես.

5. Ֆայլում index.phpջնջել առկա կոդը և գրել նորը.

Բլոկի դասավորությունը

Հիմնական էջի բովանդակությունը

Բրաուզերում index.php ֆայլը ճիշտ նույն տեսքն ունի, ինչ նախկինում, սակայն կաղապարի կառուցվածքն ամբողջությամբ փոխվել է։ Տեղի ունեցածի մասին կխոսենք ավելի ուշ, իսկ այժմ կպատասխանենք ձևի առեղծվածային հրամանների մասին հարցին .

Ինչպես HTML կոդը, PHP կոդը նույնպես ունի իր սկզբի և ավարտի նշանակումը: Այսպիսով, դուք պետք է գործարկեք PHP ներդիր հրամանով , և ավարտվում է տողով ?> . Այս հրամանների միջև գրված է հիմնական կոդը: Մեր դեպքում սա ընդամենը մեկ հրաման է. ներառում.

Գործառույթ ներառում()ֆայլի մեջ տեղադրում է մեկ այլ ֆայլի կոդը՝ հնարավոր դարձնելով էջի տարբեր մասերը պահել տարբեր փաստաթղթերում՝ դրանով իսկ հուսալիորեն բաժանելով դրանք միմյանցից:

Կատարված գործողությունների արդյունքում ստացել ենք դինամիկ էջ index.php, որոնց մասերը բեռնված են տարբեր ֆայլեր. Դրա շնորհիվ դուք կարող եք ստեղծել այլ էջեր՝ նույն կերպ բեռնելով օժանդակ տարրեր պանակի ֆայլերից։ բլոկներ.

Այս մոտեցումը լավ է, քանի որ եթե ցանկանում եք փոխել, ասենք, ցանկի տարրի անվանումը 20-30 էջանոց կայքում, ապա նորաստեղծ կառուցվածքով ձևանմուշում, ձեզ հարկավոր է փոփոխություններ կատարել միայն մեկ ֆայլում՝ բլոկներում: /navigation.php, և ընտրացանկը անմիջապես կփոխվի բոլոր էջերում, որոնցում այն ​​ներառված է: Եթե ​​կայքը ստատիկ էր, ապա ընտրացանկի մեկ տարրի անունը փոխելու համար դուք պետք է փոփոխություններ կատարեիք դրանում ամեն 20-30 էջից։ Տարբերությունն ակնհայտ է.

Պետք է նախազգուշական միջոցներ ձեռնարկել։ Քանի որ ռեսուրսը կարող է չափազանց դինամիկ լինել: Դա և նայիր, կծի՛ր։

PHP և HTML

Այժմ այս երկու առարկաները գրեթե կապված են միմյանց հետ։ Նրանց տանդեմն այն հիմքն է, որի վրա կառուցված է ինտերնետի մեծ մասի «կյանքը»։ Իհարկե, սերվերի կողմի այլ լեզուներ (Perl, ASP.NET) նույնպես օգտագործվում են html-ի հետ համատեղ: Բայց դրանց տարածվածությունը Համաշխարհային ցանցում, համեմատած PHP-ի հետ, զուտ էպիզոդիկ է:

Վիճակագրության համաձայն, ինտերնետի ռեսուրսների մեծ մասի ճարտարապետությունը կառուցված է php-ի և html-ի հիման վրա:


Շատ սկսնակների համար այս տեխնոլոգիաների փոխհարաբերությունները անհասկանալի են թվում: Մի կողմից՝ ստատիկ html , որը մեկնաբանվում է հաճախորդի կողմից բրաուզերների կողմից։ Մյուս կողմից, դա ծրագրավորման լեզու է, որը մշակվում է սերվերի վրա: Հետևաբար, նախքան զրոյից php-ով կայք գրելը, մենք կտանք այս երկու տեխնոլոգիաների փոխազդեցության պարզ օրինակ.

  • Եկեք ստեղծենք նոր ֆայլ php ընդլայնմամբ;
  • Եկեք այնտեղ դնենք հետևյալ կոդը.

Անվերնագիր վեբ էջ Ժամը քանիսն է?

  • Եկեք պահենք ֆայլը տեղական սերվերում և բացենք այն բրաուզերում: Այնուհետև սեղմեք մկնիկի աջ կոճակի վրա և համատեքստային մենյուընտրիր նյութը" Դիտեք html էջը».

Ինչպես տեսնում եք սքրինշոթում, գիծըչի ցուցադրվում էջի html կոդում։ Ե՛վ բրաուզերում, և՛ կոդի մեջ տեսանելի են միայն վերադարձված ամսաթիվը և ժամը։ Սա նշանակում է, որ սցենարը մշակվել է սերվերի կողմից: Հետևաբար, php-ով կայք ստեղծելը սկզբունքորեն տարբերվում է պարզ html էջեր գրելուց:

Դինամիկ կայք

Այսօր գոյություն ունեն կայքերի երկու հիմնական տեսակ.

  • Ստատիկ - ստեղծված է միայն html-ի հիման վրա: Նման կայքերը չեն փոխում իրենց բովանդակությունը՝ ի պատասխան օգտատերերի գործողությունների: Իհարկե, ստատիկ ռեսուրսը կարող է արձագանքել իրադարձություններին և օգտագործողի գործողություններին: Բայց էջի դինամիզմի հաճախորդի կողմից իրականացումն ունի նեղ շրջանակ՝ սահմանափակված Java Script-ի հնարավորություններով:

Java Script կոդը աշխատում է հաճախորդի կողմից բրաուզերում:

  • Դինամիկ - ի վիճակի է փոխել իրենց վիճակը և բովանդակությունը - դինամիկ կայքերի html էջերը ձևավորվում են անմիջապես կոդի կատարման պահին՝ ի պատասխան նրա կողմից զննարկիչից սերվեր ուղարկված օգտվողի խնդրանքի: Ամենից հաճախ սերվերի կողմից էջի ստեղծումը տեղի է ունենում php-ով գրված կոդով:

Դինամիկ php կայքը բաղկացած է հետևյալ ֆայլերից.

  • index.php-ը ծրագրի հիմնական ֆայլն է;
  • Կաղապարներ - ներառում է էջի որոշակի մասի կառուցվածքը ( գլխարկներ, նկուղ, հիմնական կորպուս);
  • CSS ֆայլեր - պահեք ռեսուրսի բոլոր ոճերի նկարագրությունները:

Բացի այդ, կայքի նախագիծը կարող է բաղկացած լինել ֆայլերից, որոնք պահում են php ֆունկցիաների և մեթոդների կոդը: Եվ նաև ներառում է տվյալների բազա:

CMS-ի մեծ մասում սերվերի կողմից դինամիկ ձևավորված էջերը լրացնելու բովանդակության աղբյուրը տվյալների բազան է: Առավել հաճախ օգտագործվող տվյալների բազան MySQL-ն է:

Ինչպես գրել կայք PHP-ով

Հասկանալու համար, թե ինչպես է կայքը ստեղծվում php-ում, նայենք գործնական օրինակին։ Իհարկե, դրա մեծ մասը պարզեցված է, բայց աշխատանքի ամբողջ մեխանիզմը և ստեղծման փուլերը պահպանված են։

Ես ունեմ html կայք հետևյալ կառուցվածքով և դիզայնով.

Նրա կոդը.

PHP կայքի օրինակ

Գլխարկ

Բովանդակություն

style.css ֆայլի կոդը.

Վերնագիր ( լուսանցք-ձախ: auto; լուսանցք-աջ: auto; լուսանցք-ներքև: 10px; լայնություն:1000px; բարձրություն:100px; եզրագիծ:1px ամուր #000000; ֆոն՝ #009966; ֆոն-պատկեր՝ url(img/1. gif); ) .էջեր ( լուսանցք-ձախ:auto; լուսանցք-աջ:auto; լայնություն:1000px;) .բովանդակություն (լուսանցք-աջ:10px; լայնություն:806px; բարձրություն:450px; եզրագիծ:1px ամուր #000000; ֆոն: #999999; float:ձախ;) .կողային գոտի (լայնություն:180px; բարձրություն:450px; եզրագիծ:1px ամուր #000000; ֆոն՝ #FF9900; float:ձախ;) .foot ( պարզ:երկուսն էլ; ) :10px; լուսանցք-ձախ:auto; լուսանցք-աջ:auto; լայնությունը:1000px; բարձրություն:50px; եզրագիծ:1px ամուր #000000; ֆոն՝ #333399; )

Նախքան php-ով կայք գրելը մինչև վերջ, ամբողջ html կոդը պետք է տարածվի մի քանի ֆայլերի վրա.

  • Header.php-ը կներառի «վերնագրի» շերտի սկզբից մինչև վերջ;
  • footer.php-ում - շերտ «foot» և «footer»;
  • Content.php-ում` ամբողջ ծածկագիրը մնացել է մեջտեղում:

Այժմ մենք ստեղծում ենք հիմնական index.php էջը, որը կպարունակի ֆայլային զանգեր, որոնք պարունակում են անհրաժեշտ դիզայնի տարրերի կոդը։ Ընդհանուր առմամբ, հիմնական ֆայլում սցենարի ընդամենը 3 տող կար.

Իսկ եթե դիտարկիչում նայեք էջի html կոդը, կտեսնեք սկզբնաղբյուրի կոդը.

Իհարկե, այս տարբերակը հարմար է միայն կայքի հիմնական էջը ստեղծելու համար։ Բայց եթե կողագոտի կոդը հանվում է առանձին ֆայլում, ապա կաղապարը կարող է օգտագործվել նաև կայքի ներքին էջերը ստեղծելու համար։

Շրջանցման ճանապարհը

Բայց կայքի նման զարգացումը ջանք է պահանջում, մասնագիտացվածի առկայություն ծրագրային ապահովումև գիտելիք։ Հետեւաբար, ես կցանկանայի ավելի հեշտ տարբերակ գտնել: Այնուհետև դուք պետք է օգտագործեք PHP կայքի ստեղծողը:

Դրանք կաղապարների հատուկ հավաքածու են՝ պարամետրերի ընդլայնված շրջանակով: Քանի որ դրանք շատ նման են սովորական CMS-ին: Իհարկե, ոչ ոք չի երաշխավորում ապագա կայքի դիզայնի բարձր յուրահատկությունը, և ապագայում կարող են խնդիրներ առաջանալ ռեսուրսը այլ հոսթինգ կայք կամ հարթակ տեղափոխելու և հարմարեցնելու հետ կապված։ Ահա այսպիսի առցանց ծառայությունների մի քանի ապացուցված տարբերակներ:

Բարեւ Ձեզ! Այժմ մենք կփորձենք իրականացնել ամենապարզ գրանցումը կայքում՝ օգտագործելով PHP + MySQL: Դա անելու համար Apache-ը պետք է տեղադրված լինի ձեր համակարգչում: Ինչպես է աշխատում մեր սցենարը, ներկայացված է ստորև:

1. Սկսենք ստեղծելով օգտվողների աղյուսակը տվյալների բազայում. Այն կպարունակի օգտվողի տվյալներ (մուտք և գաղտնաբառ): Եկեք գնանք phpmyadmin (եթե ձեր համակարգչի վրա տվյալների բազա եք ստեղծում http://localhost/phpmyadmin/) Ստեղծեք աղյուսակ օգտվողներ, այն կունենա 3 դաշտ։

Ես այն ստեղծում եմ mysql տվյալների բազայում, դուք կարող եք այն ստեղծել այլ տվյալների բազայում: Հաջորդը, սահմանեք արժեքները, ինչպես նկարում.

2. Պահանջվում է միացում այս աղյուսակին:Եկեք ստեղծենք ֆայլ bd.php. Դրա բովանդակությունը.

$db = mysql_connect («ձեր MySQL սերվերը», «մուտք գործել այս սերվերում», «գաղտնաբառ այս սերվերի համար»);
mysql_select_db («տվյալների բազայի անվանումը, որին պետք է միանալ», $db);
?>

Իմ դեպքում դա այսպիսի տեսք ունի.

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

Մենք խնայում ենք bd.php.
Հիանալի Տվյալների բազայում ունենք աղյուսակ, դրա հետ կապ: Այժմ դուք կարող եք սկսել ստեղծել էջ, որտեղ օգտվողները կթողնեն իրենց տվյալները:

3. Ստեղծեք reg.php ֆայլ բովանդակությամբ (բոլոր մեկնաբանությունները ներսում).



Գրանցում


Գրանցում
















4. Ստեղծեք ֆայլ, որը տվյալների բազա կմտնի և կփրկի օգտատիրոջը: save_user.php(մեկնաբանությունները ներսում):



{
}
//եթե մուտքն ու գաղտնաբառը մուտքագրված են, ապա մենք դրանք մշակում ենք, որպեսզի պիտակները և սկրիպտները չաշխատեն, երբեք չգիտես, թե մարդիկ ինչ կարող են մուտքագրել


// հեռացնել ավելորդ բացատները
$login = trim ($login);
$գաղտնաբառ = կտրել ($գաղտնաբառ);
// միանալ տվյալների շտեմարանին
// ստուգեք նույն մուտքով օգտվողի առկայությունը
$result = mysql_query("SELECT id FROM users WHERE login="$login"",$db);
եթե (!empty($myrow["id"])) (
exit («Կներեք, ձեր մուտքագրած օգտանունն արդեն գրանցված է: Խնդրում ենք մուտքագրել այլ օգտվողի անուն:»);
}
// եթե չկա, ապա պահպանեք տվյալները
$result2 = mysql_query ("INSERT INTO users (login, password) VALUES ("$login","$password")");
// Ստուգեք, արդյոք սխալներ կան
եթե ($result2=="TRUE")
{
echo «Դուք հաջողությամբ գրանցվել եք: Այժմ կարող եք մուտք գործել կայք: Գլխավոր էջ»;
}
ուրիշ (
echo «Սխալ: Դուք մուտք չեք գործել»:;
}
?>

5. Այժմ մեր օգտվողները կարող են գրանցվել:Հաջորդը, դուք պետք է «դուռ» սարքեք, որպեսզի մուտք գործեք կայք արդեն գրանցված օգտվողների համար: index.php(մեկնաբանությունները ներսում):

// ամբողջ պրոցեդուրան աշխատում է նիստերի վրա։ Հենց դրա մեջ են պահվում օգտատիրոջ տվյալները, քանի դեռ նա գտնվում է կայքում։ Շատ կարևոր է դրանք գործարկել հենց էջի սկզբում!!!
նիստ_սկիզբ ();
?>


<a href="https://lineagers.ru/hy/windows-xp/pereiti-na-glavnuyu-stranicu-yandeks-chto-takoe-yandeks-pochemu-on.html">Հիմնական էջ</a>


Հիմնական էջ











Գրանցվել



// Ստուգեք՝ արդյոք մուտքի և օգտագործողի id փոփոխականները դատարկ են
եթե (դատարկ ($_SESSION["մուտք"]) կամ դատարկ ($_SESSION["id"]))
{
// Եթե դատարկ է, մենք չենք ցուցադրում հղումը
echo «Դուք մուտք եք գործել որպես հյուր
Այս հղումը հասանելի է միայն գրանցված օգտվողներին»;
}
ուրիշ
{

Ֆայլում index.phpմենք կցուցադրենք հղում, որը բաց կլինի միայն գրանցված օգտատերերի համար: Սա է սցենարի ողջ իմաստը` սահմանափակել մուտքը ցանկացած տվյալների:

6. Մուտքագրված մուտքի և գաղտնաբառի ստուգմամբ ֆայլ կա: testreg.php (մեկնաբանություններ ներսում):

session_start();// ամբողջ պրոցեդուրան աշխատում է նիստերի վրա: Հենց դրա մեջ են պահվում օգտատիրոջ տվյալները, քանի դեռ նա գտնվում է կայքում։ Շատ կարևոր է դրանք գործարկել հենց էջի սկզբում!!!
if (isset($_POST["login"])) ($login = $_POST["login"]; if ($login == "") ( unset($login);) ) //դրել մուտքագրված մուտքը օգտվողին $login փոփոխականի մեջ, եթե այն դատարկ է, ապա մենք ոչնչացնում ենք փոփոխականը
if (isset($_POST["password"])) ($password=$_POST["password"]; if ($password =="") ( unset($password);) )
//օգտագործողի մուտքագրած գաղտնաբառը դրեք $password փոփոխականի մեջ, եթե այն դատարկ է, ապա ոչնչացրեք փոփոխականը
եթե (դատարկ ($login) կամ դատարկ ($password)) //եթե օգտատերը չի մուտքագրել մուտք կամ գաղտնաբառ, ապա մենք սխալ ենք թույլ տալիս և դադարեցնում սկրիպտը
{
exit («Դուք չեք մուտքագրել ամբողջ տեղեկատվությունը, վերադարձեք և լրացրեք բոլոր դաշտերը»);
}
//եթե մուտքն ու գաղտնաբառը մուտքագրված են, ապա մենք դրանք մշակում ենք, որպեսզի պիտակները և սկրիպտները չաշխատեն, երբեք չգիտես, թե մարդիկ ինչ կարող են մուտքագրել
$login = stripslashes ($login);
$login = htmlspecialchars ($login);
$password = stripslashes ($password);
$password = htmlspecialchars ($password);
// հեռացնել ավելորդ բացատները
$login = trim ($login);
$գաղտնաբառ = կտրել ($գաղտնաբառ);
// միանալ տվյալների շտեմարանին
include("bd.php");// bd.php ֆայլը պետք է լինի նույն թղթապանակում, ինչ բոլորը, եթե ոչ, ապա պարզապես փոխեք ուղին

$result = mysql_query("SELECT * FROM users WHERE login="$login"",$db); //առբերել օգտագործողի մասին բոլոր տվյալները տվյալների բազայից մուտքագրված մուտքով
$myrow = mysql_fetch_array ($ արդյունք);
եթե (դատարկ ($myrow["password"]))
{
//եթե մուտքագրված լոգինով օգտվողը գոյություն չունի
}
ուրիշ (
//եթե կա, ստուգեք գաղտնաբառերը
եթե ($myrow["password"]==$password) (
//եթե գաղտնաբառերը համընկնում են, ապա մենք սկսում ենք սեսիան օգտագործողի համար: Կարող եք շնորհավորել, նա մտավ։
$_SESSION["login"]=$myrow["login"];
$_SESSION["id"]=$myrow["id"];//այս տվյալները շատ հաճախ են օգտագործվում, ուստի մուտք գործած օգտվողը դրանք «կտրի»
echo «Դուք հաջողությամբ մուտք եք գործել կայք: Գլխավոր էջ»;
}
ուրիշ (
//եթե գաղտնաբառերը չեն համընկնում

Ելք («Կներեք, ձեր մուտքագրած մուտքը կամ գաղտնաբառը սխալ է»);
}
}
?>

Լավ, հիմա ամեն ինչ ավարտված է: Գուցե դասը ձանձրալի է, բայց շատ օգտակար: Այստեղ ցուցադրվում է միայն գրանցման գաղափարը, այնուհետև կարող եք բարելավել այն. ավելացնել պաշտպանություն, դիզայն, տվյալների դաշտեր, վերբեռնել ավատարներ, դուրս գալ ձեր հաշվից (դրա համար պարզապես ոչնչացնել փոփոխականները նիստից գործառույթով չկարգավորված) և այլն։ Հաջողություն!

Ստուգել եմ ամեն ինչ, լավ է աշխատում:

Համակարգիչների մասին ցանկացած գրքի շատ ընթերցողներ կանցնեն այն ամենի միջով, ինչը անմիջական հետաքրքրություն չի ներկայացնում և կանցնեն այն, ինչ նրանք իրականում ունեն: ցանկանումիմանալ. Անձամբ ես հենց այդպես էլ անում եմ։ Այնուամենայնիվ, անհանգստանալու ոչինչ չկա. հազվադեպ են լինում տեխնիկական գրքեր, որոնք կարիք ունեն կարդալու էջից գլուխ: Կամ գուցե դուք հենց դա արեցիք՝ բաց թողեցիք ութ սկզբնական գլուխները և անցաք այս գլուխը, քանի որ այն ուներ ամենահետաքրքիր վերնագիրը: Իսկ ո՞վ է ուզում ժամանակ վատնել մանրամասների վրա, երբ մեկ այլ նախագիծ է այրվում:

Բարեբախտաբար, այս շտապողականությունը ձեզ չի խանգարի ծանոթանալ գրքի երկրորդ մասի վրա, որը վերաբերում է PHP-ի օգտագործմանը վեբ կայքեր ստեղծելու և համացանցի հետ փոխգործակցության համար: Այս գլխում դուք կսովորեք, թե ինչպես հեշտությամբ փոփոխել վեբ էջերի բովանդակությունը և նավարկել համացանցում՝ օգտագործելով հղումներ և տարբեր ստանդարտ գործառույթներ: Հաջորդ գլուխը կլրացնի ներկայացված նյութը. այն մանրամասնորեն քննարկում է HTML ձևերով օգտատերերի փոխազդեցության միջոցները: Գլուխ 11-ը նկարագրում է տվյալների բազաների հետ ինտերֆեյսի կազմակերպումը: 2-րդ մասի մնացած գլուխները ներառում են PHP-ում վեբ ծրագրավորման ոչ տրիվիալ ասպեկտները:

Այնուամենայնիվ, պետք է հիշել, որ 1-ին մասի նյութը բացարձակապես էական PHP-ի նորմալ իմացության համար։ Ենթադրվում է, որ դուք կարդացել եք առաջին մասը, ուստի օրինակները կօգտագործեն ավելի վաղ քննարկված հասկացություններից շատերը: Այսպիսով, եթե դուք թերթել եք գրքի մի մասը, դուք պետք է ժամանակ առ ժամանակ վերադառնաք նախորդ գլուխներին և հասնեք:

Պարզ Հղումներ

<а href = "date.php">

$link = "date.php";

տպել»<а href = \"$link\">Դիտեք այսօրվա ամսաթիվը
\n"

Ձեզ կարող է հետաքրքրել, թե ինչու է հղման կոդի մեջ չակերտներից առաջ (\) նշանը: Դա պայմանավորված է նրանով, որ չակերտները հատուկ նիշեր են PHP-ում և օգտագործվում են որպես տողերի սահմանազատիչներ: Հետևաբար, չակերտները տողերի բառացի տողեր են: Պետք է պաշտպանված լինեն: .

Եթե ​​չակերտներից խուսափելու անհրաժեշտությունը ձեզ զայրացնում է, պարզապես միացրեք magic_quotes_gpc ռեժիմը ձեր php.ini ֆայլում: Արդյունքն այն է, որ բոլոր ապոստրոֆները, մեջբերումները, հետադարձ շեղերը և զրոյական նիշերը: ավտոմատ կերպով փախչում են տեքստում:

Մշակենք բերված օրինակը։ Բրաուզերում հղումների ցանկն արագ ցուցադրելու համար կարող եք օգտագործել զանգված.

// Ստեղծեք բաժինների զանգված

$contents - array("tutorials", " articles", "scripts", "contact");

// Անցեք և հաջորդաբար դուրս բերեք զանգվածի յուրաքանչյուր տարր

համար ($i = 0; $i< sizeof($contents; $i++)

տպել» «.$contents[$i]»:
\n";

// - մարկերի կետի հատուկ նշանակում endfor;

Ֆայլի բաղադրիչներ (կաղապարներ)

Մենք հասել ենք իմ սիրելի PHP-ի հնարավորություններից մեկին: Կաղապարը (ինչպես կիրառվում է վեբ ծրագրավորման համար) վեբ փաստաթղթի մի մասն է, որը դուք պատրաստվում եք օգտագործել մի քանի էջերում: Կաղապարները, ինչպես PHP ֆունկցիաները, ձեզ կփրկեն էջի բովանդակության և ծրագրի կոդի հատվածները պատճենելու/տեղադրելու դժվարություններից: Կայքի մասշտաբների մեծացման հետ կաղապարների նշանակությունը մեծանում է, քանի որ դրանք թույլ են տալիս հեշտությամբ և արագ փոփոխություններ կատարել ամբողջ կայքի մակարդակով։ Այս բաժինը նկարագրելու է որոշ հնարավորություններ, որոնք բացվում են ամենապարզ ձևանմուշների օգտագործման ժամանակ:

Սովորաբար, բովանդակության/կոդերի ընդհանուր մասերը (այսինքն՝ ձևանմուշները) պահվում են առանձին ֆայլերում: Վեբ փաստաթուղթ կառուցելիս դուք պարզապես «ներառում» եք այս ֆայլերը էջի համապատասխան վայրերում։ PHP-ն ունի երկու գործառույթ դրա համար՝ include() և require().

ներառել() և պահանջել()

PHP-ի ամենաակնառու ասպեկտներից մեկը ձևանմուշներ և ծրագրավորման գրադարաններ ստեղծելու, այնուհետև դրանք նոր սկրիպտներում տեղադրելու կարողությունն է: Գրադարանների օգտագործումը խնայում է ժամանակն ու ջանքը՝ օգտագործելու ընդհանուր ֆունկցիոնալությունը տարբեր կայքերում: Ընթերցողների հետ

ծրագրավորման փորձ այլ լեզուներով (օրինակ՝ C, C++ կամ Java), ֆունկցիոնալ գրադարանների հայեցակարգի հետ ծանոթություն և դրանց օգտագործումը ծրագրերում՝ ֆունկցիոնալությունը ընդլայնելու համար:

Մեկ կամ մի քանի ֆայլ սկրիպտում ներառելը կատարվում է PHP-ի ստանդարտ պահանջի () և include() ֆունկցիաների միջոցով: Ինչպես կցուցադրվի հաջորդ բաժնում, այս գործառույթներից յուրաքանչյուրն օգտագործվում է կոնկրետ իրավիճակում:

Գործառույթներ

PHP-ն ունի չորս գործառույթ՝ PHP սկրիպտներում ֆայլեր ներառելու համար.

  • ներառում();
  • ներառել_մեկ անգամ ();
  • պահանջում ();
  • պահանջ_մեկ անգամ ().

Չնայած անունների նմանությանը, այս գործառույթները կատարում են տարբեր առաջադրանքներ:

Include() ֆունկցիան ներառում է սկրիպտի ֆայլի բովանդակությունը: Include() ֆունկցիայի շարահյուսությունը հետևյալն է.

ներառել (ֆայլի ֆայլ)

Include() ֆունկցիան ունի մեկ հետաքրքիր հատկություն՝ այն կարելի է պայմանականորեն կատարել։ Օրինակ, եթե ֆունկցիայի կանչը ներառված է if հայտարարությունների բլոկում: ապա ֆայլը ներառվում է ծրագրում միայն այն դեպքում, եթե i f պայմանը ճիշտ է: Եթե ​​includeO ֆունկցիան օգտագործվում է պայմանական հրամանում, ապա այն պետք էփակված լինի գանգուր ամրացումներով կամ այլընտրանքային սահմանազատիչներով: Համեմատեք շարահյուսական տարբերությունները 9.1 և 9.2 ցուցակներում:

Ցուցակ 9.1. include()-ի սխալ օգտագործումը

եթե (որոշ_պայմանական)

ներառել ("text91a.txt"); ուրիշ

ներառել ("text91b.txt");

Ցուցակ 9.2. Inc-ի ճիշտ օգտագործումը ()

եթե (որոշ_պայմանական) :

ներառել ("text91a.txt");

ներառել ("text91b.txt");

Ներառյալ ֆայլի ամբողջ PHP կոդը Պարտադիրգտնվում է PHP թեգերում: Մի ենթադրեք, որ պարզապես PHP հրամանը ֆայլում պահելը կապահովի, որ այն ճիշտ մշակվի.

Փոխարենը, դուք պետք է կցեք հրամանը համապատասխան պիտակներում, ինչպես ցույց է տրված հետևյալ օրինակում.

տպել «սա անվավեր ներառման ֆայլ է»;

Include_once() ֆունկցիան անում է նույնը, ինչ ներառել(), մեկ բացառությամբ. այն ստուգում է, թե արդյոք ֆայլն արդեն ներառված է, նախքան ծրագրում ներառելը: Եթե ​​ֆայլն արդեն ներառված է, ապա include_once() զանգը անտեսվում է, իսկ եթե ոչ, ֆայլը ներառված է լռելյայն: Բոլոր մյուս առումներով, include_once()-ը չի տարբերվում include(-ից): Include_once() ֆունկցիայի շարահյուսությունը հետևյալն է.

include_once (ֆայլի ֆայլ)

Ընդհանուր առմամբ, require() ֆունկցիան նման է include()-ին. այն նաև ներառում է ձևանմուշը ֆայլում, որը պարունակում է կանչը պահանջել(): Require() ֆունկցիայի շարահյուսությունը հետևյալն է.

պահանջում (ֆայլի ֆայլ)

Այնուամենայնիվ, կա մեկ կարևոր տարբերություն պահանջ() և include() ֆունկցիաների միջև։ Պահանջում() պարամետրով նշված ֆայլը ներառված է սկրիպտում՝ անկախ սկրիպտում require()-ի գտնվելու վայրից: Օրինակ, եթե դուք կանչում եք requirere() if block-ում կեղծ պայմանով, ֆայլը դեռ կներառվի սկրիպտում:

Շատ իրավիճակներում հարմար է ֆայլ ստեղծել փոփոխականներով և այլ տեղեկություններով, որոնք օգտագործվում են կայքում, և այնուհետև այն ներառել ըստ անհրաժեշտության: Չնայած այս ֆայլի անունը կամայական է, ես սովորաբար այն անվանում եմ init.tpl («initializaion.template» բառի կրճատում): 9.3 ցուցակը ցույց է տալիս, թե ինչ տեսք ունի շատ պարզ init.tpl ֆայլը: Ցուցակ 9-4-ում init.tpl-ի բովանդակությունը ներառված է սկրիպտի մեջ` require() հրամանով:

Ցուցակ 9.3. Նախնականացման ֆայլի օրինակ

$site_title = «PHP բաղադրատոմսեր";!}

$contact_email = " [էլփոստը պաշտպանված է]";

$contact_name = «WJ Gilmore»;

Ցուցակ 9.4. Օգտագործելով init.tpl ֆայլը

<? print $site_title; ?>

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

Անհրաժեշտ() զանգահարելիս URL փոխանցելը թույլատրվում է միայն այն դեպքում, եթե «URL fopen wrappers» ռեժիմը միացված է (այս ռեժիմը լռելյայն միացված է):

Քանի որ կայքի չափը մեծանում է, կարող է պատահել, որ որոշ ֆայլեր ներառված են սկրիպտում մեկից ավելի անգամ: Երբեմն դա խնդիրներ չի առաջացնում, բայց որոշ դեպքերում ֆայլը կրկին ակտիվացնելը վերակայում է փոփոխված փոփոխականները: Եթե ​​գործառույթները սահմանված են ներառող ֆայլում, անունների կոնֆլիկտները կարող են առաջանալ: Այս ասելով մենք գալիս ենք հաջորդ ֆունկցիային` require_once():

Require_once() ֆունկցիան ապահովում է, որ ֆայլը միայն մեկ անգամ կներառվի սկրիպտում: Requi re_onse()-ին կանչելուց հետո նույն ֆայլը ներառելու հետագա բոլոր փորձերն անտեսվում են: Require_onse() ֆունկցիայի շարահյուսությունը հետևյալն է.

Դուք, հավանաբար, ավելի հաճախ կօգտագործեք ֆայլի ֆունկցիոնալությունը, քանի որ ձեր վեբ հավելվածները մեծանում են չափերով: Այս գործառույթները հաճախ օգտագործվում են այս գրքի օրինակներում՝ կրճատելու կոդի ավելորդությունը: Առաջին օրինակները քննարկվում են հիմնական կաղապարների կառուցման սկզբունքների վերաբերյալ հաջորդ բաժնում:

Շենքի բաղադրիչներ

Տիպիկ վեբ էջի կառուցվածքը սահմանելիս ես սովորաբար այն բաժանում եմ երեք մասի՝ վերնագիր, տեքստ և ստորագիր: Սովորաբար, լավ կազմակերպված կայքերի մեծ մասը կունենա վերնագիր, որը շատ բան չի փոխում. հիմնական մասը ցուցադրում է կայքի պահանջվող բովանդակությունը, ուստի այն հաճախ փոխվում է. Վերջապես, էջատակը պարունակում է հեղինակային իրավունքի մասին տեղեկատվություն և նավիգացիոն հղումներ: Ստորատակը, ինչպես վերնագիրը, սովորաբար մնում է անփոփոխ։ Ինձ սխալ մի հասկացեք. ես ամենևին չեմ փորձում խեղդել ձեր ստեղծագործական ունակությունները: Ես տեսել եմ շատ հիանալի կայքեր, որոնք չեն հետևել այս սկզբունքներին: Ես պարզապես փորձում եմ ընդհանուր կառուցվածքով հանդես գալ, որը կարող է ելակետ ծառայել հետագա աշխատանքների համար:

վերնագիր

Վերնագրի ֆայլը (ինչպես Ցուցակ 9.5-ում) առկա է PHP-ով միացված իմ գրեթե բոլոր կայքերում: Այս ֆայլը պարունակում է

ամբողջ կայքի տեղեկատվություն, ինչպիսիք են վերնագիրը, կոնտակտային տվյալները և HTML էջի կոդի որոշ բաղադրիչներ:

Ցուցակ 9.5. Վերնագրի ֆայլի օրինակ

// Ֆայլ՝ header.tpl

// Նպատակը. Վերնագրի ֆայլ PhpRecipes կայքի համար:

$site_name = «PHPR բաղադրատոմսեր»;

$site_email=" [էլփոստը պաշտպանված է]";

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

<? print $site_name; ?>

// Ցուցադրել ընթացիկ ամսաթիվը և ժամը

տպման ամսաթիվ («F d, h:i a»);

Այցելուների համար սովորական է սահմանափակել մուտքը ֆայլեր ներառելու համար, հատկապես, եթե ֆայլերը պարունակում են զգայուն տեղեկություններ (օրինակ՝ գաղտնաբառեր): Apache-ում դուք կարող եք կանխել որոշ ֆայլերի դիտումը` խմբագրելով http.conf կամ htaccess ֆայլերը: Հետևյալ օրինակը ցույց է տալիս, թե ինչպես անջատել բոլոր .tpl ֆայլերի դիտումը.

կարգադրել թույլ տալ, մերժել

Թույլատրել 127.0.0.1-ից

PHP-ի և կայքի անվտանգության խնդիրները մանրամասնորեն ընդգրկված են 16-րդ գլխում:

Վազքի վերնագիր

Վերնագիր (ստորատակ) սովորաբար անվանում են կայքի էջերի ներքևում գտնվող տեղեկատվությունը` կոնտակտային տվյալներ, հղումներ և հեղինակային իրավունքի մասին տեղեկություններ: Այս տեղեկատվությունը կարող է տեղադրվել առանձին ֆայլում և ներառվել որպես ձևանմուշ, ինչպես վերնագիր: Ենթադրենք, որ նոր տարվա գալուստով անհրաժեշտ էր փոխել հեղինակային իրավունքի մասին տեղեկատվությունը և այն բերել «Հեղինակային իրավունք © 2000-2001» ձևի։ Երկու ճանապարհ կա՝ Սուրբ Ծննդյան գիշերն անցկացրեք հարյուրավոր ստատիկ էջեր խմբագրելով կամօգտագործեք այնպիսի ձևանմուշ, ինչպիսին է Ցուցակ 9.6-ում: Մեկ պարզ փոփոխություն, և դուք կարող եք վերադառնալ տոնական գործերին:

Ցուցակ 9.6.Ստորագրի ֆայլի օրինակ (footer.tpl)

Կապ |

ձեր գաղտնիությունը

Ուշադրություն դարձրեք ստորագրի ֆայլում $site_email գլոբալ փոփոխականի օգտագործմանը: Այս փոփոխականի արժեքը ամբողջ էջի վրա է, և մենք ենթադրում ենք, որ header.tpl և footer.tpl ֆայլերը կներառվեն նույն վերջնական էջում: Նաև նշեք $site_path-ի առկայությունը Գաղտնիության հղման մեջ: Ես միշտ ներառում եմ բոլոր հղումների ամբողջական ուղիները իմ ձևանմուշներում. եթե հղման URL-ը բաղկացած է privacy.php մեկ անունից, ապա ստորագրի ֆայլը կոշտ կոդավորված կլինի որոշակի գրացուցակում:

Հիմնական մասը

Վերնագրի և ստորագրի բովանդակությունը ներառված է էջի հիմնական մասում։ Ըստ էության, այն հիմնական մասն է, որը պարունակում է կայքի այցելուներին հետաքրքրող տեղեկատվություն։ Վերնագիրը տպավորիչ տեսք ունի, ստորագիրն օգտակար տեղեկատվություն է պարունակում, բայց էջի հիմնական մասի համար է, որ օգտատերերը նորից ու նորից վերադառնում են կայք: Թեև ես չեմ կարող որևէ խորհուրդ տալ կոնկրետ էջի կառուցվածքի վերաբերյալ, Ցուցակ 9-7-ի նման ձևանմուշները շատ ավելի հեշտ են դարձնում էջի կառավարումը:

Ցուցակ 9.7. Էջի հիմնական մասի օրինակ (index_body.tpl)

/tutorials.php"> ձեռնարկներ

հոդվածներ

սկրիպտներ

կոնտակտ

Բարի գալուստ PHPRecipes: PHP սկրիպտների, ձեռնարկների մեկնարկային վայրը,

և տեղեկատվություն գուրմանային խոհարարության մասին:

Բոլորը միասին դնելով՝ վերնագիր, ստորագիր և բովանդակություն

Թերևս իմ տրամադրությունը լավագույնս արտահայտում է գնդապետ «Հանիբալ» Սմիթը (Ջորջ Պեպարդ) հայտնի A-Team շարքից. «Ես սիրում եմ այն, երբ ամեն ինչ իր տեղն է ընկնում»: Ես նման բան եմ զգում, երբ տարբեր ձևանմուշները համակցվում են ամբողջական վեբ փաստաթուղթ ձևավորելու համար: Փաստաթղթի երեք բաժինները համատեղելով՝ header.tpl, index_body.tpl և footer.tpl, դուք կարող եք արագ կառուցել մի պարզ էջ, ինչպիսին է Ցուցակ 9-8-ում:

Ցուցակ 9.8. Կառուցեք index.php էջի մի քանի ֆայլեր ներառելով

// Ֆայլ՝ index.php

// Նպատակակետը՝ PHPRecipes-ի գլխավոր էջ

// Ցուցադրել վերնագիրը

ներառել ("header.tpl");

// Ելքի հիմնական մարմին

ներառել ("index_body.tpl");

// Ելքային ստորագիր

ներառել ("footer.tpl");

Դե, ինչպե՞ս: Երեք պարզ հրամաններ, և դուք ունեք ավարտված էջ ձեր առջև: Ամփոփիչ էջի տեքստը ներկայացված է Ցուցակ 9.9-ում:

Ցուցակ 9.9. Ցուցակ 9-8-ում կառուցված HTML էջը (index.php)

PHPRecipes

օգոստոսի 23, 15:17

ձեռնարկներ

հոդվածներ

սցենարներ

Կապ

Բարի գալուստ PHPRecipes՝ PHP սկրիպտների, ձեռնարկների մեկնարկային վայր,

և գուրման խոհարարության խորհուրդներ և բաղադրատոմսեր:

Հեղինակային իրավունք 2000 PHPRecipes. Բոլոր իրավունքները պաշտպանված են.

Կապ |

ձեր գաղտնիությունը

Նկ. Նկար 9-1-ը ցույց է տալիս, թե ինչպես է ստացված էջը դիտվում բրաուզերում: Թեև ես սովորաբար չեմ օգտագործում աղյուսակի եզրագծեր, այս անգամ ես դրանք ներառել եմ, որպեսզի էջի երեք մասերն ավելի հստակորեն աչքի ընկնեն նկարում։

Բրինձ. 9.1. 9.8 ցուցակում կառուցված էջի տեսքը

Կաղապարի օպտիմիզացում

Երկրորդ (իմ կարծիքով՝ ավելի նախընտրելի) տարբերակում կաղապարները պատրաստված են առանձին ֆայլում տեղակայված ֆունկցիաների տեսքով։ Սա լրացուցիչ կառուցվածք է ապահովում ձեր կաղապարների համար: Ես այս ֆայլը անվանում եմ սկզբնավորման ֆայլ և դրանում պահում եմ այլ օգտակար տեղեկություններ: Քանի որ մենք արդեն դիտել ենք վերնագրի և ստորագրի համեմատաբար երկար օրինակները, 9-10 և 9-11 ցուցակները փոքր-ինչ կրճատվել են՝ նոր գաղափարը լուսաբանելու համար:

Ցուցակ 9.10. Կայքի օպտիմիզացված ձևանմուշ (site_init.tpl)

// Ֆայլ՝ site_init.tpl

// Նպատակը. PhpRecipes սկզբնավորման ֆայլ

$site_name = «PHPR բաղադրատոմսեր»;

$site_email = " [էլփոստը պաշտպանված է]";

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

ֆունկցիա show_header ($site_name) (

<? print $site_name: ?>

Սա վերնագիրն է

ֆունկցիայի ցուցադրման ստորագիր ()

Սա ստորագիր է

Ցուցակ 9.11. Նախնականացման ֆայլի կիրառում

// Ներառել սկզբնավորման ֆայլը

ներառել ("site_init.tpl");

// Ցուցադրել վերնագիրը

ցույց տալ վերնագիրը ($site_name);

// Մարմնի բովանդակություն Սա մարմնի որոշ տեղեկություններ է

// Ցույց տալ ստորագիր Show_footer();

Նախագիծ՝ էջի գեներատոր

Թեև իմ ստեղծած կայքերից շատերը ստեղծել են էջերի հիմնական բովանդակությունը տվյալների բազայից ընթերցված տեղեկատվության հիման վրա, միշտ կլինեն մի քանի էջեր, որոնք հազիվ են փոխվում: Մասնավորապես, նրանք կարող են տեղեկատվություն ցուցադրել ծրագրավորման թիմի մասին, կոնտակտային տվյալներ, գովազդներ և այլն: Ես սովորաբար այս «ստատիկ» տեղեկատվությունը պահում եմ առանձին թղթապանակում և օգտագործում PHP սկրիպտ՝ այն բեռնելու համար, երբ պահանջվում է: Իհարկե, դուք ունեք հարց. եթե սա ստատիկ տեղեկատվություն է, ապա ինչի՞ համար է նախատեսված PHP script-ը: Ինչու՞ չբեռնել նորմալ HTML էջերը: PHP-ի առավելությունն այն է, որ դուք կարող եք օգտագործել կաղապարներ և ըստ անհրաժեշտության տեղադրել ստատիկ հատվածներ:

<а href = "/static.php?content=$content">Ստատիկ էջի անուն

Սկսենք ստատիկ էջեր ստեղծելուց: Պարզության համար ես կսահմանափակվեմ երեք էջով, որոնք պարունակում են տեղեկատվություն կայքի մասին (Ցուցակ 9.12), գովազդ (Ցուցակ 9.13) և կոնտակտային տվյալներ (Ցուցակ 9.14):

Ցուցակ 9.12. Կայքի տեղեկություններ (about.html)

PHPRecipes-ի մասին

Ո՞ր ծրագրավորողն է, որ չի խառնում ամբողջ գիշեր ծրագրավորումը գուրման թխվածքաբլիթների հետ: Այստեղ PHPRecipes-ում: Հազիվ թե մի գիշեր անցնի, երբ մեր կոդավորողներից մեկը մի քիչ HTML խառնի Portobello Mushrooms-ի կամ նույնիսկ Fondue-ի համեղ ափսեի հետ: Այսպիսով, մենք որոշեցինք բերել ձեզ: լավագույնն այն ամենից, ինչ մենք ամենաշատն ենք սիրում՝ PHP և սնունդ:

Ճիշտ է, ընթերցողներ: Ձեռնարկներ, սցենարներ, սուֆլեներ և այլն: 0nly PHPRecipes-ում:

Գովազդային տեղեկատվություն

Անկախ նրանից՝ նրանք գալիս են սովորելու PHP-ի վերջին տեխնիկան, թե՞ սովորելու, թե ինչպես

հավ թխելու համար կարող եք գրազ գալ, որ մեր ընթերցողները որոշում կայացնողներն են: Նրանք Արդյունաբերությունն են

մասնագետներ, ովքեր որոշումներ են կայացնում այն ​​մասին, թե ինչ է գնում իրենց ընկերությունը:

Գովազդային տեղեկատվության համար դիմեք

">[էլփոստը պաշտպանված է].

Ցուցակ 9.14. Կոնտակտային տվյալներ (contact.html)

Կապ մեզ հետ

Կոդավորման հուշում ունե՞ք:

Գիտե՞ք, թե որն է շողոքորթ մածուկի կատարյալ թփինգը:

Իմաց տուր մեզ! Կապվեք թիմի հետ [էլփոստը պաշտպանված է].

Անցնենք static.php էջի կառուցմանը, որը ցուցադրում է պահանջվող ստատիկ տեղեկատվությունը։ Այս ֆայլը (տես Ցուցակ 9-15) ներառում է մեր կայքի էջի բաղադրիչները և site_init.tpl սկզբնավորման ֆայլը:

Ցուցակ 9.15. Ստատիկ էջերի ընդհանուր ելք (static.php)

// Ֆայլ՝ static.php

// Նպատակը. Ցուցադրել պահանջվող ստատիկ էջերը:

// ԶԳՈՒՇԱՑՈՒՄ. ենթադրվում է, որ «site_init.tpl» ֆայլը և բոլորը

// ստատիկ ֆայլերը գտնվում են նույն գրացուցակում:

// Բեռնման գործառույթները և փոփոխականները ներառում են ("site_init.tpl"):

// Ցուցադրել վերնագիրը show_header ($site_name);

// Ցուցադրել պահանջվող բովանդակությունը ներառում է ("$content.html"):

// Ցույց տալ ստորագիր show footer();

Այժմ ամեն ինչ պատրաստ է հիմնական սցենարը կառուցելու համար։ Պարզապես ներառեք էջում

<а href = "static.php?content=about">Ստատիկ էջի անունը

Գովազդային տեղեկատվություն

Կապ մեզ հետ

Սեղմելով այս հղումներից որևէ մեկի վրա, զննարկիչում կբեռնվի static.php-ում ներկառուցված համապատասխան ստատիկ էջը:

Արդյունքներ

Այս գլխում դուք իմացաք այն հիմնական նպատակի մասին, որը PHP-ն նախագծված էր լուծելու՝ վեբ էջերի դինամիկ ձևավորում: Քննարկվել են հետևյալ հարցերը.

  • URL-ի մշակում;
  • դինամիկ բովանդակության ստեղծում;
  • հիմնական կաղապարների ներառում և կառուցում:

Գլուխն ավարտվում է էջի գեներատորով, ծրագիր, որը բեռնում է ստատիկ էջերը կաղապարի մեջ և հեշտացնում է մեծ թվով ստատիկ HTML էջերի պահպանումը:

Հաջորդ գլուխը վերաբերում է PHP-ի օգտագործմանը HTML ձևերի հետ համատեղ՝ ձեր կայքի ինտերակտիվությունը մեծապես բարձրացնելու համար: Եվ հետո - փոխազդեցություն տվյալների բազաների հետ: Պետք է շատ հետաքրքիր բաներ սովորել։

Վերջին թարմացումը՝ 1.11.2015թ

Այժմ մենք կստեղծենք փոքր կայք, որը նախատեսված է PHP-ի հետ աշխատելու նախնական պատկերացում կազմելու համար:

PHP-ում ծրագրեր ստեղծելու համար մեզ անհրաժեշտ է տեքստային խմբագրիչ: Այսօրվա ամենահայտնի ծրագիրը Notepad++-ն է:

Անցնենք նախկինում ստեղծված C:\localhost գրացուցակին, որը կպահի կայքի բոլոր փաստաթղթերը։ Եկեք ստեղծենք տեքստային ֆայլ և անվանենք այն index.html. Բացեք այն տեքստային խմբագրիչում և դրան ավելացրեք հետևյալ կոդը.

Առաջին կայքը PHP-ում

Մուտքագրեք ձեր տվյալները.

Մուտքագրեք ձեր անունը:

Մուտքագրեք ազգանունը.

html կոդը պարունակում է երկու տեքստային դաշտերով ձև: Երբ կոճակը սեղմվում է, ձևի տվյալները ուղարկվում են display.php սկրիպտին, ինչպես նշված է գործողության հատկանիշում:

Հիմա եկեք ստեղծենք այս սկրիպտը, որը կմշակի տվյալները։ Ավելացնել թղթապանակ c:\localhostնոր տեքստային ֆայլ: Եկեք վերանվանենք այն display.php: Լռելյայնորեն, php ծրագրի ֆայլերն ունեն ընդլայնում .php. Այսպիսով, եկեք ավելացնենք հետևյալ կոդը display.php ֆայլին.

Առաջին կայքը PHP-ում ".$name . " " . $surname . ""; ?>

Այստեղ արդեն html նշագրման մեջ կան PHP կոդի բծեր։ Թեգերը օգտագործվում են PHP արտահայտություններ էջին ավելացնելու համար, որոնց միջև կան հրահանգներ PHP լեզվով։ php կոդում մենք ստանում ենք ձևի տվյալները և ցուցադրում այն ​​էջում։

Յուրաքանչյուր առանձին PHP արտահայտություն պետք է ավարտվի ստորակետով: Այս դեպքում մենք ունենք երեք արտահայտություն. Նրանցից երկուսը ստանում են ներկայացված ձևի տվյալները, օրինակ՝ $name = $_POST["firstname"]; .

$name-ը փոփոխական է, որը որոշակի արժեք կունենա: PHP-ի բոլոր փոփոխականներին նախորդում է $ նշանը: Եվ քանի որ index.html էջի ձևն օգտագործում է POST մեթոդը ներկայացնելու համար, մենք կարող ենք օգտագործել $_POST["firstname"] արտահայտությունը, որպեսզի ստանանք այն արժեքը, որը մուտքագրվել է տեքստային դաշտում ատրիբուտ name="firstname" . Եվ այս արժեքը մտնում է $name փոփոխականի մեջ:

Echo հայտարարության միջոցով կարող եք ցուցադրել ցանկացած արժեք կամ տեքստ, որը գալիս է էջի հայտարարությունից հետո: Այս դեպքում (echo «Ձեր անունը. ".$name . " " . $surname . "«), օգտագործելով կետ, մեջբերված տեքստը միացվում է $name և $surname փոփոխականների արժեքներին և ցուցադրվում է էջում:

Այժմ անդրադառնանք մուտքագրման ձևին՝ անցնելով հասցե http://localhost:8080:

Մուտքագրեք որոշ տվյալներ և սեղմեք ուղարկել կոճակը.

Այսպիսով, սցենարը մեզ մոտ աշխատեց display.php, որը ստացել և ցուցադրել է ներկայացված տվյալները էջում։

 
Հոդվածներ Ըստթեմա:
css տարրի տեսակի ընտրիչ
Այն, ինչ ընտրիչն է css-ում, այդ տարրի կամ տարրերի խմբի նկարագրությունն է, որը բրաուզերին ասում է, թե որ տարրը պետք է ընտրի՝ ոճ կիրառելու համար: Եկեք նայենք հիմնական CSS ընտրիչներին:1) .x .topic-title (ֆոնի գույնը՝ դեղին;)
Հեծանիվների բարձրախոսներ. հիմնական տարբերությունները, ինչպես ընտրել
Ճանապարհին շարժիչ ուժ, պայծառություն և հույզեր ավելացնելու համար կարող եք հեծանիվով բարձրախոսներ կառուցել և ճանապարհորդությունը լրացնել երաժշտություն լսելով: Չնայած այն հանգամանքին, որ այսօր շուկայում առկա բոլոր հեծանիվների աուդիո համակարգերն ունեն բնութագրերի նման համադրություն
Ավտոմատ վճարման ծառայություն դեպի մեգաֆոն Սբերբանկից Մեգաֆոնի հաշվի ավտոմատ համալրում
Ամենօրյա վազքի ընթացքում կարող է ժամանակ չմնա ձեր բջջային հեռախոսի հաշիվը լրացնելու համար: Արդյունքում մենք ունենք բոլոր հնարավորությունները մնալու առանց հաղորդակցության, այն էլ ամենավճռական պահին։ Եթե ​​դուք չունեք անվճար րոպե գնալու վճարման տերմինալ և
ՄՏՍ-ի սակագին
Մեծ հաշվով, ինձ համար դժվար է մեղադրել նրան, որ ես շատ արագ հրաժեշտ տվեցի 40 UAH գումարին։ Մի կողմից ես աչքաթող արեցի դա։ Բայց մյուս կողմից, օպերատորը օգտագործեց «փոքր տպագրության» կեղծ տեխնիկան, որին ես ընկա: Այսպիսով, հաստատ