x
php - lesson 3

P HP მ ას ი ვებ ი



რა ა რი ს მ ა ს ი ვ ი?



როდესაც ვმუშაობთ PHP-ში, ადრე თუ გვიან, დაგვჭირდება შევქმნათ მრავალი მსგავსი ცვლადი.


იმის მაგივრად რომ შევქმნათ მრავალი ცვლადი, ჩ ვენ შეგვიძლია მოვაქციოთ ის მასივში.



მასივში თითოეულ ელემენტს აქვს საკუთარი ID, ამიტომ მასთან მიმართვა იქნება ძალიან ადვილი.


ქვემოთ მოყვანილია სამი განსხვავებული მასივი:


  • Numeric array(რიცხობრივი მასივი) - მასივი რიცხობრივი ID გასაღებით
  • Associative array(ასოცირებული მასივი) - მასივი, სადაც თითორული ID გასაღები

ასოცირებულია მნიშვნელობასთან.

  • Multidimensional array(მულტისივრცული მასივი) - მასივი შეიცავს ერთ ან მეტ მასივს.


რ იც ხო ბრ ივი მ ას ივებ ი



არსებობს სხვადასხვა გზა რიცხობრივი მასივის შექმნისა. მაგალითი 1:

მაგალითი, სადაც ID გასაღები შექმნილია ავტომატურად:


$names = array("Peter", "Quagmire", "Joe");

მაგალითი 2:


მაგალითი, სადაც ID გასაღები ხელით უნდა მივუთითოთ:


$names[0] = "Peter";

$names[1] = "Quagmire";

$names[2] = "Joe";


ID გასაღებები შესაძლოა გამოვიყენოთ სკრიპტში:


<?php

$names[0] = "Peter";

$names[1] = "Quagmire";

$names[2] = "Joe";

echo $names[1] . " and " . $names[2] . " are ". $names[0] . "'s neighbors";

?>


კოდი დაბეჭდავს:


Quagmire and Joe are Peter's neighbors



ას ოც ირ ებ ული მ ას ივებ ი


როდესაც ვაბრუნებთ სპეციფ იური სახელების მონაცემებს, რიცხვითი მასივი ყოველთვის არ გამოგვადგება.



ასოცირებული მასივით ჩვენ შეგვიძლია მნიშვნელობები გამოვიყენოთ, როგორც გასაღებები და მივანიჭოთ მათ მნიშვნელობები.



მაგალითი 1:


ამ მაგალითში, მასივი სხვადასხვა პიროვნებებს ანიჭებს წლოვანებებს:


$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);

მაგალითი 2:


ეს მაგალითი იგივეა რაც პირველი მაგალითი, მხოლოდ აჩვენებს მასივის შექმნის განსხვავებულ გზას:


$ages['Peter'] = "32";

$ages['Quagmire'] = "30";

$ages['Joe'] = "34";


ID გასაღებები შესაძლებელია გამოვიყენოთ სკრიპტში:


<?php

$ages['Peter'] = "32";

$ages['Quagmire'] = "30";

$ages['Joe'] = "34";

echo "Peter is " . $ages['Peter'] . " years old.";

?>


კოდი დაბეჭდავს:


Peter is 32 years old.



მ ულტის ივრ ც ული მ ას ივე ბი


მაგალითი:


ამ მაგალითში ჩვენ შევქმნით მულტისივრცულ მასივებს, ავტომატურად მინიჭებული ID

გასაღებებით:


$families = array

(

"Griffin"=>array

( "Peter", "Lois", "Megan"

),

"Quagmire"=>array

( "Glenn"

), "Brown"=>array (

"Cleveland", "Loretta", "Junior"

)

);


ქვემოთ მოყვანილი მასივი გამოიყურება ასე, თუ დაწერილია ბეჭდვაზე:


Array

(

[Griffin] => Array

(

[0] => Peter [1] => Lois [2] => Megan

)

[Quagmire] => Array


(

[0] => Glenn

)

[Brown] => Array

(

[0] => Cleveland [1] => Loretta [2] => Junior

)

)

მაგალითი 2:


შევეცადოთ გამოვსახოთ ერთი მნიშვნელობა:


echo "Is " . $families['Griffin'][2] . " a part of the Griffin family?";


კოდი დაბეჭდავს:


Is Megan a part of the Griffin family?




P HP ცი კ ლებ ი


ცი კლი



ძალიან ხშირად, როდესაც ვწერთ კოდს, კოდის ერთი და იგივე ბლოკის გაშვება გვჭირდება რომოდენიმეჯერ. ამისათვის ჩვენ შეგვიძლია გამოვიყენოთ ციკლის ოპერატორები.


PHP-ში არსებობს შემდეგი ციკლის ოპერატორები:


  • while - მიმართავს კოდის ბლოკს სანამ სპეციფიური მითითება ჭეშმარიტია
    • do...while - კოდის ბლოკს მიმართავს ერთხელ და იმეორებს ციკლს მანამ სანამ სპეციფიური მითითება ჭეშმარიტია
  • for - კოდის ბლოკს მიმართავს n-ჯერ
  • fore ach - მიმართავს მასივში არსებული თითოეული ელემენტისათვის


W H IL E ოპ ე რა ტ ორი



სინტაქსი


while (condition)

code to be executed;


მაგალითი


მიმდინარე მაგალითი დემონსტრ აციას უკეთებს ციკლს, რომელიც გაეშვება მანამ სანამ i

ნაკლებია, ან ტოლი 5-ზე. i თითიეულ ციკლზე გაიზრდება 1-ით:


<html>

<body>


<?php

$i=1;

while($i<=5)

{

echo "The number is " . $i . "<br />";

$i++;

}

?>

</body>

</html>



D O… W H IL E ოპ ე რა ტ ორი



სინტაქსი


do

{

code to be executed;

}

while (condition);


მაგალითი


მიმდინარე მაგალითი i-ს მნიშვნელობას გაზრდის ერთხელ და ეს გაგრძელდება მანამ სანამ i-

ს მნიშვნელობა არ იქნება 5:


<html>

<body>

<?php

$i=0;

do

{

$i++;

echo "The number is " . $i . "<br />";

}

while ($i<5);

?>

</body>

</html>



F OR ოპ ე რა ტ ორი



სინტაქსი


for (initialization; condition; increment)

{

code to be executed;

}


შენიშვნა: For ოპერატორს აქვს სამი პარამეტრი. პირველი პარამეტრი აღწერს ცვლადებს, მეორე პარამეტრი განსაზღვრავს პირობას და მესამე პარამეტრი შეიცავს ზრდას. თუ გვაქვს ერთზე მეტი ცვლადის, ან ზრდის პარამეტრი, ისინი უნდა გამოიყოს წერტილებით. პირობამ უნდა დააბრუნოს True, ან False.


მაგალითი


მიმდინარე მაგალითი დაბეჭდავს "Hello World! "-ს ხუთჯერ:


<html>

<body>

<?php

for ($i=1; $i<=5; $i++)

{

echo "Hello World!<br />";

}

?>

</body>

</html>



F O REAC H ოპ ე რა ტ ორი



თითოეულ ციკლზე, მიმდინარე მასივის ელემენტის მნიშვნელობა ინიშნება $value - ასე რომ შემდეგ ციკლზე, ჩვენ დავინახავთ შემდეგ ელემენტს.


სინტაქსი


foreach (array as value)

{

code to be executed;

}


მაგალითი


<html>

<body>

<?php

$arr=array("one", "two", "three");

foreach ($arr as $value)

{

echo "Value: " . $value . "<br />";

}

?>

</body>

</html>


P H P ფ უნ ქ ცი ებ ი

P HP ფუ ნ ქცი ე ბი ს შე ქმ ნ ა

ფუნქცია არის კოდის ბლოკი, რომლის გამოყენებასაც ჩვენ შევძლებთ სადაც გ ვინდა და როცა გვინდა.


PHP ფუნქციების შექმნა:


  • ყველა ფუნქცია იწყება სიტყვით "function() "
  • ფუნქციის სახელი - საშუალებას მოგვცემს მივხვდეთ რას ნიშნავს ფუნქცია. სახელი
უნდა იწყებოდეს ასოთი.

  • "{" - ფუნქციის კოდი იწყება ფიგურული ფრჩხილის დამატების შემდეგ.
  • ჩავსვათ ფუნქციის კოდი
  • "}" - ფუნქცია დასრულდება ფიგურული ფრჩხილის დახურვით


მაგალითი


<html>

<body>

<?php

function writeMyName()

{

echo "Kai Jim Refsnes";

}

writeMyName();

?>

</body>

</html>






P HP ფუ ნ ქცი ე ბი ს გა მ ოყ ე ნ ე ბა


<html>

<body>

<?php

function writeMyName()

{

echo "Kai Jim Refsnes";

}

echo "Hello world!<br />"; echo "My name is "; writeMyName();

echo ".<br />That's right, ";

writeMyName();

echo " is my name.";

?>

</body>

</html>


კოდი დაბეჭდავს:


Hello world!

My name is Kai Jim Refsnes.

That's right, Kai Jim Refsnes is my name.




P HP ფუ ნ ქცი ე ბი - პ ა რა მ ე ტ რე ბი ს და მ ა ტ ე ბა



ჩვენი პირველი ფუნქცია (writeMyName()) არის ძალიან მარტივი ფუნქცია. ის წერს მხოლოდ სტატიკურ სტრინგს.



ფუნქციაზე უფრო მეტი ფუნქციონალურობის დამატებისათვის, ჩვენ შეგვიძლია დავამატოთ პარამეტრები. პარამეტრი არის, როგორც ცვლადი.


მაგალითი 1


მიმდინარე მაგალითი დაწერს განსხვავებულ სახელს, მაგრამ იგივე გვარს:


<html>

<body>

<?php

function writeMyName($fname)

{

echo $fname . " Refsnes.<br />";

}

echo "My name is "; writeMyName("Kai Jim"); echo "My name is "; writeMyName("Hege"); echo "My name is "; writeMyName("Stale");

?>

</body>

</html>


კოდი დაბეჭდავს:


My name is Kai Jim Refsnes. My name is Hege Refsnes.

My name is Stale Refsnes.


მაგალითი 2


მიმდინარე ფუნქციას აქვს ორი პარამეტრი:


<html>

<body>

<?php

function writeMyName($fname, $punctuation)

{

echo $fname . " Refsnes" . $punctuation . "<br />";

}

echo "My name is "; writeMyName("Kai Jim", "."); echo "My name is "; writeMyName("Hege", "!"); echo "My name is "; writeMyName("Ståle", "...");

?>

</body>

</html>


კოდი დაბეჭდავს:


My name is Kai Jim Refsnes. My name is Hege Refsnes!

My name is Ståle Refsnes...




P HP ფუ ნ ქცი ე ბი - მ ნ ი შვ ნე ლობე ბი ს დ ა ბრუ ნ ე ბა

მაგალითი


<html>


<body>

<?php

function add($x, $y)

{

$total = $x + $y;

return $total;

}

echo "1 + 16 = " . add(1, 16)

?>

</body>

</html>


კოდი დაბეჭდავს:


1 + 16 = 17



P H P ფ ორ მ ები და ვე ლებ ი



P HP ფორმ ა

ფორმის მაგალითი:

<html>

<body>

<form action="welcome.php" method="post"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" />

<input type="submit" />

</form>

</body>

</html>


მაგალითი HTML გვერდზე შეიცავს ორ ველს და ერთ ღილაკს . როდესაც მომხმარებელი შეავსებს ველებს და იმოქმედებს ღილაკზე, ფორმის მონაცემები გაიგზავნება "welcome.php" ფაილში.


"welcome.php" ფაილი გამოიყურება ასე:


<html>

<body>

Welcome <?php echo $_POST["name"];?>.<br />

You are <?php echo $_POST["age"];?> years old.

</body>

</html>


კოდი დაბეჭდავს:


Welcome John.

You are 28 years old.





P HP $ _G ET


TH E $ _ G ET ცვ ლა დ ი



$_GET ცვლადი


არის სახელების მასივი და HTTP


GET მეთოდით გაგზავნილი

მნიშვნელობები.


$_GET ცვლადი




გამოიყენება ფორმა method="get"-დან




მნიშვნელობების შესაკრებად.

ინფორმაცია, გაგზავნილი ფორმიდან GET მეთოდით ჩანს ყველასათვის (ის გამოისახება

ბრაუზერის მიმსამართების პანელზე) და მას აქვს ინფორმაციის გაგზავნის ლიმიტი (მაქს. 100

სიმბოლო).


მაგალითად


<form action="welcome.php" method="get"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" />

<input type="submit" />

</form>


როდესაც მომხმარებელი იმოქმედებს ღილაკზე, გაგზავნილი URL გამოიყურება ამის მსგავსად:


http://geocg.myweb.ge/welcome.php?name=Peter&age=37


"welcome.php" ფაილს ახლა უკვე შეუძლია გამოიყენოს $_GET ცვლადი მონაცემების მისაღებად:


Welcome <?php echo $_GET["name"];?>.<br />

You are <?php echo $_GET["age"];?> years old!




$ _ R EQUES T ცვ ლა დ ი



PHP $_REQUEST ცვლადი შეიცავს ყველა ცვლადს : $_GET, $_POST, და $_COOKIE.



PHP $_REQUEST ცვლადი შესაძლებელია გამოვიყენით ფორმიდან მონაცემების შედეგების მისაღებად, რომლებიც გაიგზავნა ორივე GET და POST მეთოდებით.


მაგალითად:


Welcome <?php echo $_REQUEST["name"];?>.<br />

You are <?php echo $_REQUEST["age"];?> years old!



P HP $ _P O ST



$ _ P OS T ცვ ლა დ ი



$_POST ცვლადი არის სახელების მასივი და HTTP POST მეთოდით გაგზავნილი მნიშვნელობები.


$_POST ცვლადი გამოიყენება ფორმა method="post"-დან მნიშვნელობების შესაკრებად. ინფორმაცია, გაგზავნილი ფორმიდან POST მეთოდით არ ჩანს და მას არ აქვს ინფორმაციის გაგზავნის ლიმიტი.


მაგალითი


<form action="welcome.php" method="post">

Enter your name: <input type="text" name="name" /> Enter your age: <input type="text" name="age" />

<input type="submit" />

</form>


როდესაც მომხმარებელი იმოქმედებს ღილაკზე, გაგზავნილი URL გამოიყურება ამის მსგავსად:


http://geocg.myweb.ge/welcome.php



"welcome.php" ფაილს ახლა უკვე შეუძლია გამოიყენოს $_POST ცვლადი მონაცემების მისაღებად:


Welcome <?php echo $_POST["name"];?>.<br />

You are <?php echo $_POST["age"];?> years old!

0
50
1-ს მოსწონს
ავტორი:გიორგი ყვავილაშვილი
გიორგი ყვავილაშვილი
50
  
კომენტარები არ არის, დაწერეთ პირველი კომენტარი
0 1 0