Լրացուցիչ Բլոկների Տեսակներ (EBT) - Դասավորության Կառուցողի նոր փորձառություն❗

Լրացուցիչ Բլոկների Տեսակներ (EBT) - ձևավորված, կարգավորելի բլոկների տեսակներ՝ սլայդշոուներ, ներդիրներ, քարտեր, բացվող ցանկեր և շատ ուրիշներ։ Ներառված կարգավորումներ՝ ֆոնի, DOM տուփի, JavaScript փլագինների համար։ Փորձեք դասավորությունների կառուցման ապագան արդեն այսօր։

EBT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EBT մոդուլները

❗Լրացուցիչ Պարբերությունների Տեսակներ (EPT) - Պարբերությունների նոր փորձառություն

Լրացուցիչ պարբերության տեսակներ (EPT) - անալոգիական պարբերության վրա հիմնված մոդուլների հավաքակազմ։

EPT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EPT մոդուլները

Scroll

PHP Դասեր - Դաս 1 - Աշխատանք ձևերի հետ

10/05/2025, by Ivan

Ընդօրինակ կյանքում մենք տեղեկություններ ստանում ենք հեռուստատեսությամբ, ռադիոյով, ինտերնետով, կենդանի շփման միջոցով։ Կայքերն էլ տեղեկություններ են ստանում օգտատերերից, սակայն դա անում են հատուկ ձևով՝ ձևերի միջոցով։ Ձևերը կարելի է համեմատել հարցաթերթիկների կամ դիմումների ձևերի հետ, որոնք լրացվում են պետական կամ այլ կազմակերպություններ դիմելիս։ Չնայած ձևերի տարրերի քանակը սահմանափակ է, դրանք հնարավորություն են տալիս վերցնել օգտատերից կայքի աշխատանքի համար անհրաժեշտ ամբողջ տեղեկատվությունը։

Որպեսզի դասը ավելի արդյունավետ լինի, խորհուրդ է տրվում նախ կարդալ HTML ձևերի ստեղծման դասերը։

Մինչ առաջին դասը սկսելը, եկեք ստեղծենք մեր հավելվածի կմախքը, այն է՝ դաս, որը կկառավարի մեր կայքի աշխատանքը։

Ստեղծում ենք class պանակը և այնտեղ տեղադրում ենք simpleCMS.php ֆայլը, որը կպարունակի կայքի կառավարման դասը։ Կստեղծենք նաև index.php ֆայլը, որը կգործարկի այդ կառավարումը։ Բացի այդ, կստեղծենք դատարկ պանակ՝ մեր հաղորդագրությունների համար, և ոճային ֆայլ՝ style.css։ Ստացվում են հետևյալ ֆայլերն ու պանակները՝

class/simpleCMS.php

messages/

index.php

style.css

simpleCMS.php ֆայլի պարունակությունը հետևյալն է՝

<?php
class simpleCMS {  // կառավարման դաս
  public function display_public() { // հաղորդագրությունների արտածման մեթոդ
  
  }
  public function display_admin() { // հաղորդագրության մուտքագրման մեթոդ
	
  }
  public function write($p) { // հաղորդագրության գրառման մեթոդ
  
  }  
}
?>

Մինչև հաջորդ դասերը մեթոդները թողնում ենք դատարկ։

style.css ֆայլը՝

*{
  margin: 0;
  padding: 0;
}

body{ 
  font: 12px "Lucida Grande",  Sans-Serif;
  background: #ccc;
}

#page-wrap{ 
  width: 500px; 
  margin: 50px auto; 
  padding: 20px; 
  background: white; 
}

h1, h2, h3{ 
  font: 28px Georgia, Serif; 
  border-bottom: 1px dotted #ccc;
  margin: 0 0 10px 0; 
}

.clear{ 
  clear: both; 
}

input[type="text"], textarea{ 
  padding: 3px; 
  border: 1px solid #666; 
  width: 350px;	
  margin: 0 0 15px 0; 
}

input[type="text"]{ 
  font: 28px Georgia, Serif; 
}

textarea { 
  height: 100px; 
  font: 12px "Lucida Grande", Sans-Serif; 
}

label 	{ 
  background: #666; 
  color: white; 
  padding: 2px 6px; 
}

.post{ 
  margin: 0 0 20px 0; 
}

index.php ֆայլը՝

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Սովորում ենք PHP</title>
    <link rel="stylesheet" type="text/css" href="style.css" />
  </head>
  <body>
  	<div id="page-wrap">
    <?php
    
      include_once('class/simpleCMS.php'); // միացնում ենք դասի ֆայլը
      $obj = new simpleCMS(); // ստեղծում ենք կառավարման դասի օբյեկտ
  ?>
   </div>
  </body>
</html>

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

Եկեք մի պահ շեղվենք ստեղծած ֆայլերից և ուսումնասիրենք $_GET և $_POST գլոբալ փոփոխականները։

Գլոբալ փոփոխական $_GET

HTML ձևերն ունեն method ատրիբուտ (method='get' կամ method='post')։ Կախված ընտրված մեթոդից՝ տվյալները կգրանցվեն $_GET կամ $_POST գլոբալ փոփոխականում։ Եկեք դիտարկենք օրինակ՝

<form action="welcome.php" method="get">
Անուն: <input type="text" name="fname" />
Տարիք: <input type="text" name="age" />
<input type="submit" />
</form> 

Երբ սեղմում ենք «submit» կոճակը, ապա անցնում ենք հետևյալ էջը՝

http://sitename/welcome.php?fname=Peter&age=37

Այսպիսով ձևավորվում է $_GET փոփոխականը։ Այսինքն՝ հարցականի նշանից հետո անցնում են այդ փոփոխականի արժեքները՝

<?php
print $_GET['fname'];
print $_GET['age'];
?>

$_GET փոփոխականը զանգված է՝ բաղկացած URL-ից ստացված արժեքներից։ Այսպիսով՝ տվյալներ կարող ենք փոխանցել մեկ էջից մյուսը՝ նույնիսկ առանց ձև օգտագործելու։ Օրինակ՝ եթե հետևյալ էջում՝

http://sitename/example.php?number=45

գործարկեք այս սցենարը՝

<?php
  print $_GET['number'];
?>

Այն դեպքում կտպվի URL-ից վերցված թիվը։

Գլոբալ փոփոխական $_POST

$_POST փոփոխականը նույնպես օգտագործվում է ձևերում, ինչպես $_GET-ը։ Եկեք դիտարկենք նմանատիպ օրինակ։

Ստեղծենք պարզ ձև՝ բաղկացած անուն և հաղորդագրություն դաշտերից։

<form action="welcome.php" method="post">
Անուն: <input type="text" name="fname" />
Տարիք: <input type="text" name="age" />
<input type="submit" />
</form> 

Սեղմելով «submit» կոճակը՝ մենք անցնում ենք հետևյալ էջին՝

http://sitename/welcome.php

Այժմ կարող ենք դիմել $_POST փոփոխականին՝

<?php
print $_POST['fname'];
print $_POST['age'];
?>

Տարբերությունն այն է, որ $_POST զանգվածը չի երևում URL-ում, այն հնարավոր չէ տեսնել՝ միայն ստանալ PHP-ի միջոցով։

Այժմ եկեք ստեղծենք հաղորդագրության ավելացման ձև։ Հաղորդագրություն ավելացնելու ենք POST մեթոդով, իսկ կայքի կառավարումը կկատարենք GET մեթոդով՝

public function display_admin() { // հաղորդագրության մուտքագրման մեթոդ	
  $content = '';
  $content .= '<form action="' . $_SERVER['PHP_SELF'] . '" method="post">'; // $_SERVER['PHP_SELF'] վերադարձնում է ֆայլի անունը, որից կանչվել է դասը
  $content .= '<label for="title">Անուն:</label><br />';
  $content .= '<input name="title" id="title" type="text" maxlength="150" />';
  $content .= '<div class="clear"></div>';
  $content .= '<label for="bodytext">Հաղորդագրություն:</label><br />';
  $content .= '<textarea name="bodytext" id="bodytext"></textarea>';	
  $content .= '<div class="clear"></div>';	
  $content .= '<input type="submit" value="Ավելացնել հաղորդագրություն" />';	
  $content .= '</form>';		
  $content .= '<p><a href="/index.php">Վերադառնալ գլխավոր էջ</a></p>';    
  return $content;  
}

Փոփոխեք display_admin() մեթոդը այս կոդով։ Այս կոդը դուրս կգա, երբ անհրաժեշտ լինի գրառում ավելացնել։ Իսկ լռելյայն դուրս կգան արդեն գրած հաղորդագրությունները։ Եկեք պայմանավորվենք՝ երբ URL-ում լինի admin = 1 փոփոխականը, այդ դեպքում կցուցադրվի ձևը։ Այսինքն՝ URL-ն կլինի այս տեսքով՝

http://test/index.php?admin=1

Ուստի եկեք փոփոխենք index.php ֆայլը՝

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru" dir="ltr">
  <head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Սովորում ենք PHP</title>
    <link rel="stylesheet" type="text/css" href="style.css" />
  </head>
  <body>
  	<div id="page-wrap">
    <?php
    
      include_once('class/simpleCMS.php'); // միացնում ենք դասի ֆայլը
      $obj = new simpleCMS(); // ստեղծում ենք կառավարման օբյեկտ

	  
      if( $_GET['admin'] == 1 ){ // եթե URL-ում կա admin փոփոխական
	    print $obj->display_admin(); // եթե կա, ցուցադրում ենք ձևը
	  }else{
	    print $obj->display_public(); // եթե չկա, ցուցադրում ենք հաղորդագրությունները
	  }
     
    ?>	  
	</div>
  </body>
</html>

Եվ այժմ փոփոխենք հաղորդագրությունների արտածման մեթոդը index.php էջի համար՝ առանց պարամետրերի՝

  public function display_public() { // հաղորդագրությունների արտածման մեթոդ
    $content = '';
	$content .= '<p><a href="/index.php?admin=1">Ավելացնել հաղորդագրություն</a></p>';
    return $content;
  }

Ավելացնենք հղում էջին՝ պարամետրով անցնելու համար։

Եթե էջը բեռնելուց հետո տեսնում եք խառնաշփոթ սիմվոլներ, ապա անհրաժեշտ է ստեղծել .htaccess ֆայլ (Windows-ում դա կարող է խնդիր առաջացնել, ուստի կարելի է պատճենել արդեն գոյություն ունեցող ֆայլ և դարձնել դատարկ) և ավելացնել այս տողը՝

AddDefaultCharset utf-8

Սա կստիպի սերվերին աշխատել UTF-8 կոդավորմամբ։

Այժմ մենք ունենք ձև, որը փոխանցում է տվյալները մեկ էջից մյուսը։ Կարող եք ստուգել՝ արդյոք ամեն ինչ ճիշտ է աշխատում՝ փոփոխելով method="get"՝

$content .=	'<form action="' . $_SERVER['PHP_SELF'] . '" method="get">';

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

Прикрепленные файлы