Lập trình Web bằng PHP: Hướng dẫn từ A-Z

1. Giới thiệu PHP

  • PHP (Hypertext Preprocessor) là ngôn ngữ lập trình server-side mã nguồn mở, ra đời năm 1994.

  • Đặc điểm nổi bật:

    • Được thiết kế riêng cho phát triển web.

    • Nhúng trực tiếp vào HTML.

    • Chạy trên server, trả về HTML cho trình duyệt.

    • Hỗ trợ hầu hết các hệ quản trị cơ sở dữ liệu (MySQL, PostgreSQL, SQLite).

2. Cài đặt môi trường PHP

Cách 1: Cài đặt local server

Kiểm tra cài đặt

  1. Tạo file test.php trong thư mục htdocs (XAMPP) hoặc /var/www/html (Linux):

    <?php
    phpinfo();
    ?>
  2. Truy cập: http://localhost/test.php

3. Cú pháp PHP cơ bản

a. Cấu trúc cơ bản

<?php
// Code PHP
echo "Hello World!";
?>

b. Biến và kiểu dữ liệu

$name = "John";      // String
$age = 30;           // Integer
$price = 9.99;       // Float
$is_active = true;   // Boolean

// Mảng
$fruits = array("Apple", "Banana", "Orange");
// Hoặc
$fruits = ["Apple", "Banana", "Orange"];

c. Câu lệnh điều kiện

if ($age >= 18) {
    echo "Bạn đã trưởng thành";
} elseif ($age >= 13) {
    echo "Bạn là thiếu niên";
} else {
    echo "Bạn là trẻ em";
}

d. Vòng lặp

// For loop
for ($i = 0; $i < 5; $i++) {
    echo $i;
}

// Foreach
foreach ($fruits as $fruit) {
    echo $fruit;
}

// While
$i = 0;
while ($i < 5) {
    echo $i;
    $i++;
}

e. Hàm

function greet($name) {
    return "Xin chào, " . $name . "!";
}

echo greet("Anna");

4. Lập trình Web với PHP

a. Xử lý form

<!-- form.html -->
<form action="process.php" method="post">
    <input type="text" name="username">
    <input type="submit" value="Gửi">
</form>
<!-- process.php -->
<?php
$username = $_POST['username'];
echo "Xin chào, " . htmlspecialchars($username);
?>

b. Kết nối database (MySQL)

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB";

// Tạo kết nối
$conn = new mysqli($servername, $username, $password, $dbname);

// Kiểm tra kết nối
if ($conn->connect_error) {
    die("Kết nối thất bại: " . $conn->connect_error);
}

// Thực hiện truy vấn
$sql = "SELECT id, name FROM users";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "ID: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
    }
} else {
    echo "Không có kết quả";
}

$conn->close();
?>

c. Session và Cookie

// Bắt đầu session
session_start();

// Lưu session
$_SESSION['username'] = 'admin';

// Lấy session
echo $_SESSION['username'];

// Xóa session
session_unset();
session_destroy();

// Cookie
setcookie("user", "John Doe", time() + 3600, "/"); // 1 giờ
echo $_COOKIE["user"];

5. Framework PHP phổ biến

  1. Laravel:

    • Framework full-stack mạnh mẽ

    • Cú pháp elegant, hỗ trợ MVC

    • Cài đặt: composer create-project laravel/laravel myproject

  2. Symfony:

    • Framework doanh nghiệp

    • Component-based architecture

  3. CodeIgniter:

    • Nhẹ, phù hợp cho người mới

    • Cấu hình đơn giản

  4. WordPress:

    • Hệ thống CMS phổ biến nhất

    • Dựa trên PHP để phát triển website

6. Bảo mật trong PHP

  • Lọc dữ liệu đầu vào:

    $clean_input = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);
  • Chống SQL Injection:

    $stmt = $conn->prepare("SELECT * FROM users WHERE username = ?");
    $stmt->bind_param("s", $username);
    $stmt->execute();
  • Bảo mật session:

    session_regenerate_id();
    ini_set('session.cookie_httponly', 1);
    ini_set('session.cookie_secure', 1);

7. Xu hướng PHP hiện đại

  • PHP 8.x với JIT compiler

  • API Development với Laravel/Symfony

  • Microservices

  • Integration với Frontend (React/Vue)

8. Tài nguyên học PHP

  • Tài liệu chính thứchttps://www.php.net

  • Học online:

    • W3Schools PHP Tutorial

    • PHP The Right Way

  • Khóa học:

    • Laracasts (cho Laravel)

    • SymfonyCasts (cho Symfony)

PHP vẫn là một trong những ngôn ngữ backend phổ biến nhất thế giới, đặc biệt phù hợp cho:

  • Phát triển website động

  • Hệ thống quản trị nội dung (CMS)

  • Ứng dụng web doanh nghiệp

  • API services

Chia sẻ

Tin tức

Cách tạo banner động

Để tạo banner động cho website WordPress, bạn có thể làm theo các bước sau. Banner động thường là hình ảnh hoặc video chuyển động

Tin tức

Các cách kiếm tiền online

Dưới đây là các cách kiếm tiền online phổ biến và hiệu quả tại Việt Nam, phù hợp với nhiều đối tượng, từ người mới

0963286779