ວິຊາ: ພື້ນຖານຂຽນໂປຣແກຣມ (PHP)

ຮຽບຮຽງໂດຍ: ປທ ຊອ ສົມປາດຖະໜາ ໄຊສິດທິເດດ

ສຳລັບມືໃໝ່ ອັບເດດ 2024

0. ການຕິດຕັ້ງເຄື່ອງມື (Setup)

PHP ເປັນພາສາຝັ່ງ Server (Server-side), ທ່ານຕ້ອງມີຈຳລອງ Server ກ່ອນ:

1. XAMPP / Laragon

ໃຊ້ຈຳລອງ Apache, MySQL ແລະ PHP ໃນເຄື່ອງ PC.

2. VS Code

ເຄື່ອງມືຂຽນໂຄ້ດທີ່ດີທີ່ສຸດໃນປະຈຸບັນ.

1. PHP Syntax

ໂຄງສ້າງພື້ນຖານຂອງ PHP:

<?php
// ນີ້ຄືການຄອມເມັ້ນ 1 ແຖວ
echo "ສະບາຍດີ ວຄສ"; // ປິດທ້າຍດ້ວຍ ; ສະເໝີ
?>

2. Variables & Data Types

ການປະກາດຕົວປ່ຽນຕ້ອງຂຶ້ນຕົ້ນດ້ວຍ $

$name = "Somsak"; // String
$age = 20;        // Integer
$is_online = true; // Boolean

3. Operators (ເຄື່ອງໝາຍ)

ເຄື່ອງໝາຍ ຄວາມໝາຍ ຕົວຢ່າງ
+ , - , * , /ບວກ, ລົບ, ຄູນ, ຫານ10 + 5 = 15
== , !=ເທົ່າກັບ , ບໍ່ເທົ່າກັບ$a == $b
&& , ||ແລະ , ຫຼື (Logic)($a > 0 && $b < 5)

5.1 PHP Arrays (ອາເຣ)

ອາເຣ ແມ່ນການເກັບຂໍ້ມູນຫຼາຍໆຄ່າໄວ້ໃນຕົວປ່ຽນດຽວ:

1. Indexed Array

ໃຊ້ຕົວເລກ (Index) ເປັນຕົວຊີ້ບອກຕຳແໜ່ງ (ເລີ່ມຈາກ 0).

$cars = ["Toyota", "BMW", "Honda"];
echo $cars[0]; // ຜົນໄດ້ຮັບ: Toyota

2. Associative Array

ໃຊ້ "ຊື່ຄີ" (Key) ແທນຕົວເລກ ເພື່ອໃຫ້ສື່ຄວາມໝາຍໄດ້ດີກວ່າ.

$age = [
  "Somsak" => 25, 
  "Joy" => 20
];
echo $age["Joy"]; // ຜົນໄດ້ຮັບ: 20

6. GET, POST & Security

POST Method

ສົ່ງຂໍ້ມູນແບບປິດລັບ. ເໝາະກັບ Password ແລະ ຂໍ້ມູນສຳຄັນ.

Security Alert!

ໃຊ້ htmlspecialchars() ເພື່ອປ້ອງກັນການຖືກ Hack (XSS).

// ວິທີຮັບຄ່າທີ່ປອດໄພ
$user = htmlspecialchars($_POST['user']);
echo "ສະບາຍດີ: " . $user;

7. PHP Built-in Functions

PHP ມີຟັງຊັນທີ່ກຽມໄວ້ໃຫ້ແລ້ວເພື່ອຊ່ວຍໃຫ້ເຮົາເຮັດວຽກໄດ້ໄວຂຶ້ນ:

String Functions (ຈັດການຂໍ້ຄວາມ)

$text = "Hello PHP";
strlen($text);      // ນັບຈຳນວນຕົວອັກສອນ (9)
str_replace("PHP", "Lao", $text); // ປ່ຽນຄຳສັບ ("Hello Lao")
strtoupper($text);  // ປ່ຽນເປັນຕົວພິມໃຫຍ່ທັງໝົດ

Math Functions (ຄຳນວນຕົວເລກ)

rand(1, 100);   // ສຸ່ມຕົວເລກ 1 ຫາ 100
round(15.7);    // ປັດຕົວເລກຂຶ້ນ/ລົງ (16)
abs(-5);        // ຄ່າສົມບູນ (5)

Array Functions (ຈັດການອາເຣ)

$fruits = ["Apple", "Banana"];
count($fruits);      // ນັບຈຳນວນຂໍ້ມູນໃນ Array (2)
array_push($fruits, "Mango"); // ເພີ່ມຂໍ້ມູນເຂົ້າທ້າຍແຖວ

🚀 Workshop: ລະບົບຕັດເກຣດ

ລອງເອົາທຸກຢ່າງມາລວມກັນ: ຮັບຄ່າ Score ແລ້ວແຍກເກຣດ A-F

$score = 85;
if ($score >= 80) {
    echo "Grade: A";
} else if ($score >= 70) {
    echo "Grade: B";
} else {
    echo "Grade: F";
}

📝 ແບບເຝິກຫັດທົດສອບ

1. ຟັງຊັນໃດໃຊ້ປ້ອງກັນການ Hack ແບບ XSS ໃນ PHP?