Membuat link halaman dynamic otomatis dengan PHP

Untuk membuat halaman link dinamis otomatis dengan PHP, kita bisa menggunakan parameter URL untuk menentukan konten yang akan ditampilkan. Berikut adalah skrip lengkap yang menunjukkan cara membuat halaman link dinamis:


1. **Struktur Direktori:**

   - index.php

   - pages/

     - home.php

     - about.php

     - contact.php


2. **Konten File:**


**index.php**

```php

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Dynamic Page</title>

</head>

<body>

    <nav>

        <ul>

            <?php

            // List files in the pages directory

            $pages_dir = 'pages/';

            $pages = scandir($pages_dir);

            foreach ($pages as $page) {

                if (strpos($page, '.php') !== false) {

                    $page_name = str_replace('.php', '', $page);

                    echo "<li><a href='index.php?page=$page_name'>$page_name</a></li>";

                }

            }

            ?>

        </ul>

    </nav>


    <div>

        <?php

        if (isset($_GET['page'])) {

            $page = $_GET['page'];

            $allowed_pages = array_map(function ($page) {

                return str_replace('.php', '', $page);

            }, $pages);


            if (in_array($page, $allowed_pages)) {

                include("$pages_dir/$page.php");

            } else {

                echo "<p>Page not found.</p>";

            }

        } else {

            include("$pages_dir/home.php");

        }

        ?>

    </div>

</body>

</html>


```


**pages/home.php**

```php

<h1>Welcome to Home Page</h1>

<p>This is the home page.</p>

```


**pages/about.php**

```php

<h1>About Us</h1>

<p>This is the about page.</p>

```


**pages/contact.php**

```php

<h1>Contact Us</h1>

<p>This is the contact page.</p>

```


3. **Penjelasan Skrip:**

   - **index.php**: Ini adalah file utama yang mengatur navigasi dan konten dinamis. Di dalamnya terdapat navigasi yang mengarah ke halaman yang berbeda berdasarkan parameter `page` di URL, Jika pada path **pages/ ** ditambahkan file maka otomatis link pada navigasi akan muncul sesuai dengan nama file yang baru ditambahakan pada path **pages/ **.

   - **pages/home.php**, **pages/about.php**, dan **pages/contact.php**: Ini adalah file konten yang akan dimuat secara dinamis berdasarkan pilihan pengguna.


Ketika pengguna mengklik salah satu link di navigasi, parameter `page` akan ditambahkan ke URL (`index.php?page=home`). Berdasarkan parameter ini, file konten yang sesuai akan disertakan dan ditampilkan di halaman utama.


Dengan struktur ini, Anda dapat dengan mudah menambahkan halaman baru dengan membuat file PHP baru di folder `pages` dan menambahkan link yang sesuai di bagian navigasi.

No comments:

Post a Comment