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!)
<?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.
<?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.
<?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.
<?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.
*- 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.
*- 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
*- yani bu yerda forma toldirilib submit bosilgach u welcome.phpga HTTP POST metod jonatadi.
WELCOME.PHP
<html>
<body>
Salom <?phpecho$_POST["name"];?><br>
Sizning email: <?phpecho$_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:
*- $_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 < ga ">" ni > 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:
$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. Всё я устал. До завтра!