NetLizard
PHP Functions(funksiyalar).
Funksiyalarga murojaat qilinganda biror shart bajariladi.
Phpda siz ozingizning funksiyalaringizni ham qoshishingiz mumkin.
SINTAKSIS: function functionName() {
    code to be executed;
}
*- yani bu yerda function- bu funksiyaga murojaat, functionName()- bu siz yaratadigan funksiya. {}- bu yerga kod yoziladi.
Eslatma: funksiya nomi yuqori yoki quyi harflardan boshlanadi(raqam emas!)
Kod · PHP13 qator
<?php

function writeMsg() {

    echo "Salom, Dunyo!";

}



writeMsg(); // funksiyaga murojaat

?>

*- funksiya nomi case-sensitive emas, unda katta va kichik harfni ahamiyati yo'q.
PHP Function Arguments.
Argumentlar bu funksiya ichiga yoziladi, ular xuddi massivdek korinishga ega.
Kod · PHP21 qator
<?php

function familyName($fname) {

    echo "$fname Refsnes.<br>";

}



familyName("Jani");

familyName("Hege");

familyName("Stale");

familyName("Kai Jim");

familyName("Borge");

?>

*- nima boldi bu yerda? Bu yerda function familyName() orqali funksiya tuzdik.Qavs ichidagi $fname- bu argument.
Php Default Argument value.
Bu orqali siz ozingiz xohlagan argumentlar sonini belgilaysiz.
Kod · PHP19 qator
<?php

function setHeight($minheight = 50) {

    echo "The height is : $minheight <br>";

}



setHeight(350);

setHeight(); // xohlasangiz 50 qiling

setHeight(135);

setHeight(80);

?>

*- bu yerda setHeight() orqali argumentlarni aniqladik, u minimal 50 boldi.
Php Functions-Returning values.
Bu orqali siz kerakli shartga qaytasiz.
Kod · PHP19 qator
<?php

function sum($x, $y) {

    $z = $x + $y;

    return $z;

}



echo "5 + 10 = " . sum(5, 10) . "<br>";

echo "7 + 13 = " . sum(7, 13) . "<br>";

echo "2 + 4 = " . sum(2, 4);

?>

*- bu yerda return $z; yani $x + $y ga qaytiladi.
PHP Superglobals.
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
*******
$GLOBALS- bu orqali siz global ozgaruvchilarga php kodni qayerida bolishidan qatiy nazar ulana olasiz.
Global ozgaruvchiga php kodda $GLOBALS[index] orqali ulanasiz.
-----------
$_REQUEST.
Bu orqali siz formlarda foydalanishingiz mumkin.
Kod · PHP37 qator
<html>

<body>



<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">

  Nomi: <input type="text" name="fname">

  <input type="submit">

</form>



<?php

if ($_SERVER["REQUEST_METHOD"] == "POST") {

    // inputdagi malumotlarni jamlash

    $name = $_REQUEST['fname'];

    if (empty($name)) {

        echo "Nomi bosh bolmasligi kerak";

    } else {

        echo $name;

    }

}

?>

*- bu yerda inputga nomini yozasiz va submit bosilgach u post method orqali kerakli malumotni uzatadi.Yuqorida koryapmizki nomini kiritmasangiz echo "Nomi bosh bolmasligi kerak"; yozuvi chiqadi, kiritgan bolsangiz echo $name chiqadi.
------
$_GET
Bu ham yuqoridagi kabi formlarda qollaniladi.$_GET malumotlarni toplab uni URLga uzatadi.
Kod · PHP13 qator
<html>

<body>



<a href="test_get.php?subject=PHP&web=sever.ru">Test $GET</a>



</body>

</html>

*- bu xuddi konfetkaga oxshagan.Yani bu yerda Test $GET bosilsa siz test_get.php?subject=PHP&web=sever.ruga get sorov yuborasiz.
Eslatma: Php $_GET va $_POST bu supergloballar formdagi malumotni jamlab jonatish va qabul qilish uchun ishlatiladi.
Php Simple Form
Kod · PHP21 qator
<html>

<body>



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

Nomi: <input type="text" name="name"><br>

E-mail: <input type="text" name="email"><br>

<input type="submit">

</form>



</body>

</html>

*- yani bu yerda forma toldirilib submit bosilgach u welcome.phpga HTTP POST metod jonatadi.
WELCOME.PHP
Kod · PHP15 qator
<html>

<body>



Salom <?php echo $_POST["name"]; ?><br>

Sizning email: <?php echo $_POST["email"]; ?>



</body>

</html>

*- nima boldi bu yerda? bu yerda avvalgi formda yozgan nomimiz va emailimiz $_POST orqali aniqlanib welcome.phpda chiqarildi.
Bu xuddi siz biror saytga kirganda login va parol yozsangiz, keyin "Assalom, User" kabiga oxshagan.
GET vs. POST
$_GET- bu massiv ozgaruvchilarini ushbu URLga yuborish uchun.
$_POST- bu esa massiv ozgaruvchilarini HTTP POST metodda jonatishga.
NIMA UCHUN GET?
GET- bu barchaga korinuvchi(visible to everyone) yani unda ozgaruvchilar malumotini jonatish limitlangan.U orqali 2000 ga yaqin harakterli malumot jonatish mumkin.
Eslatma: Get bu parol, login, email va boshqalarni jonatish uchun.
NIMA UCHUN POST?
POST- bu esa boshqalarga korinmaydi(invisible to others) yani unda cheklanmagan miqdorda malumot yuborish mumkin.
---------
PHP Form Validation.
Bu sizning saytingizni hacker va spamerlardan saqlash uchun.Unda standard quyidagicha:
Name- Faqat harflar va taqiqlanmagan simvollar mumkin.
E-mail- Faqat @(kuchukcha) dan iborat va email adres mumkin.Masalan: example@hello.ru
Website- Faqat togri yozilgan sayt mumkin.Masalan: www.hello.com yoki http://hello.com
Comment- Multi matn yozish, komment.Masalan ozi haqida, qiziqishi va hokazo.
Gender- Erkak yoki Ayolni tanlash.Bittasi tanlanadi.
Endi shu yuqoridagini HTML kodida koramiz:
Kod · PHP11 qator
Name: <input type="text" name="name">

E-mail: <input type="text" name="email">

Website: <input type="text" name="website">

Comment: <textarea name="comment" rows="5" cols="40"></textarea>

<input type="radio" name="gender" value="female">Female

<input type="radio" name="gender" value="male">Male

Endi bunga qarang:
Kod · PHP1 qator
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

*- $_SERVER["PHP_SELF"] qayerdan keldi deyapsizmi? Bu funksiya form malumotini kerakli sahifaga jonatishga kerak.
Unda htmlspecialchars nima? Bu HTML maxsus harakterlarini kerakli talqin qilish uchun.Yani unda "<" ni &lt ga ">" ni &gt ga almashtiradi.Bu esa XSSni oldini oladi.
Eslatma: Kopchilik hostinglar shu usulni qollaydi, unda ",'.!?+-*(){} kabilarni maxsus HTML harakterga almashtiradi.
PHP Required Fielda.
Bu toldirilishi shart bolgan va xato toldirilsa xato xabari chiqadigan qilish uchun.
Kelong kodni koramiz:
Kod · PHP73 qator
<?php

// massivlarni qoshish va ularni bosh qoldirish

$nameErr = $emailErr = $genderErr = $websiteErr = "";

$name = $email = $gender = $comment = $website = "";



if ($_SERVER["REQUEST_METHOD"] == "POST") {

  if (empty($_POST["name"])) {

    $nameErr = "Nom yozing!";

  } else {

    $name = test_input($_POST["name"]);

  }



  if (empty($_POST["email"])) {

    $emailErr = "Email yozmading";

  } else {

    $email = test_input($_POST["email"]);

  }



  if (empty($_POST["website"])) {

    $website = "";

  } else {

    $website = test_input($_POST["website"]);

  }



  if (empty($_POST["comment"])) {

    $comment = "";

  } else {

    $comment = test_input($_POST["comment"]);

  }



  if (empty($_POST["gender"])) {

    $genderErr = "Jinsni tanlang!";

  } else {

    $gender = test_input($_POST["gender"]);

  }

}

?>

PHP Display the error messages.
Xato xabarini ekranda aks ettirish.
Kod · PHP45 qator
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">



Name: <input type="text" name="name">

<span class="error">* <?php echo $nameErr;?></span>

<br><br>

E-mail:

<input type="text" name="email">

<span class="error">* <?php echo $emailErr;?></span>

<br><br>

Website:

<input type="text" name="website">

<span class="error"><?php echo $websiteErr;?></span>

<br><br>

Comment: <textarea name="comment" rows="5" cols="40"></textarea>

<br><br>

Gender:

<input type="radio" name="gender" value="female">Female

<input type="radio" name="gender" value="male">Male

<span class="error">* <?php echo $genderErr;?></span>

<br><br>

<input type="submit" name="submit" value="Submit"> 



</form>

PHP Name validation.
Bu orqali yozilgan ism togri ekanligini aniqlaymiz.
Kod · PHP7 qator
$name = test_input($_POST["name"]);

if (!preg_match("/^[a-zA-Z ]*$/",$name)) {

  $nameErr = "Faqat harflar va belgilangan simvollar mumkin!"; 

}

*- nima boldi bu yerda? Bu yerda preg_match() orqali belgilangan harflarga ruhsat berdik.Agar belgilanganlari bolmasa ekranda xato chiqadi.
Всё я устал. До завтра!