HTML PHP

Membuat Halaman Dinamis Dengan PHP

Written by Fatoni

Membuat Halaman Dinamis Dengan PHP. Hay, sudah lama juga za saya gak buat tutorial, masih disibukkan dengan urusan yang ini dan yang itu.

Pada kesempatan kali ini saya akan menyempatkan untuk menuliskan sebuah tutorial yang semoga saja bisa bermanfaat buat temen-temen semuanya :).

Tutorial kali ini adalah membuat sebuah Halaman Dinamis dengan PHP. Nah, apa yang dimaksud dengan Halaman Dinamis ini? Saya jelaskan dulu deh. Nanti akan dibuat hanya satu file index.php, di mana didalamnya ada beberapa baris kode untuk memanggil file dari folder lain (folder pages), dan cara memanggilnya dengan link seperti ini index.php?p=about (link ini akan memanggil file about.php yang ada di dalam folder pages). Masih bingung?? praktekin aja dulu tutorial di bawah ini, nati dijamin pati paham :).

Oke, langsung dimulai saja, dan struktur foldernya bisa dilihat dibawah ini:

Membuat Halaman Dinamis Dengan PHP

Seperti terlihat pada gambar di atas, kita akan membuat file index.php yang terletak di root folder, dan file home.php, about.php, dan contact.php ada pada folder pages.

Pertama silahkan buat file index.php dan ketikkan kode di bawah ini:

Perhatikan kode pada baris ke 10, 11, 12 di atas, terdapat tiga link yang linknya index.php?p=xxx, dan dimana xxx akan memanggil file yang ada di folder pages. Jika linknya ?p=about, maka akan memanggil file pages/about.php.

Nah sekarang kita buat file home.php, about.php, contact.php

Pertama buat file home.php dan kodenya seperti dibawah ini:

Berikutnya buat file about.php dan kodenya seperti di bawah ini:

Dan yang terakhir buat file contact.php dan kodenya dibawah ini:

Yups, sudah selesai. Silahkan Anda coba sendiri dan akan paham dengan sendirinya πŸ™‚

Oh ya, jangan lupa linknya adalah index.php?p=home dan bukan index.php?p=home.php untuk memanggil file home.php di dalam direktori pages.

Dan coba juga untuk membuat link yang tidak ada filenya seperti index.php?p=tentang, karena file tentang.php tidak ada dalam direktori pages, maka akan muncul pesan Halaman tidak ditemukan! πŸ™.

Keunggulan yang bisa dirasakan dengan menggunakan teknik ini salah satunya adalah Anda hanya butuh satu file index.php yang berisikan Tema, Link Menu dan Lainnya, dan yang akan di Panggil hanya bagian Konten yang di include dari folder pages.

Have a nice day friends πŸ™‚

Download : β€’

Password :

πŸ˜€

About the author

Fatoni

Programming is my hobby, not my job.

223 Comments

  • Mas, saya minta tolong tanya bagaimana caranya saya ingin mendapatkan script code php menampilkan foto dari database mysql. maaf sampai saat ini input dan upload data sedikit sudah pernah buat. ini bisa di lihat di website saya tersebut. terima kasih.

  • ini yang saya cari, terima kasih pak.
    ada yang mau saya tanyakan, bagaimana cara-nya memberikan warna untuk menu yang aktif, misal : saya klik halaman About, nah menu About tersebut berubah warna [aktif] mudah-mudahan paham yang saya maksud.

    • tambahin css misal .aktif (class aktif)
      kode cssnya:
      kode css

      kemudian di menu linknya kayak gini:
      Link

      silahkan rubah sendiri css dan untuk link-nya πŸ™‚

  • Terima Kasih pak, kasus saya sudah selesai, ada satu lagi yang mau saya tanyakan, saya ada kode yang terhubung dengan database [mysql], dimana kode tersebut ada satu halaman namanya edit.php nah di kode itu terdapat syntax ini

    syntax diatas menerima data dari link ini [daftar-users.php] :

    <a href="edit.php?uid=”>Edit

    cuman persoalannya ketika link tersebut di klik maka akan mengarah ke halaman edit.php

    yang mau saya tanyakan bagaimana supaya ketika link tersebut di klik masih tetap di halaman index [seperti tutorial bapak] ?

    Terima Kasih

    • caranya sama aja. jika agan sudah bisa mempraktekkan tutorial di atas, maka tinggal buat file lagi di folder pages, nama file edit.php
      dan link untuk edit bisa seperti dibawah ini:

      GET p untuk file dan GET id untuk ID user.

  • Terima Kasih banyak banget mas, atas informasi tersebut, berarti tinggal ditambahin fungsi “&” setelah nama halamannya ya.

  • mas saya uda pake halaman dinamis yang mas buat. sekarang saya mau bikin halaman yang nampilin tabel yang bisa disortir berdasarkan tanggal. pada menu view saya ingin seperti tampilan di bawah

    APLIKASI TAMPIL DATA

    home / input / view

    tanggal : xx – xx- xxx |view|

    |no|nama|alamat|
    |1|roland|bandung

    pada saat mensortir dengan klik view halaman tetap, yang berubah hanya tabelnya saja. caranya gmn ya mas?

    • view tu ambil nilai tanggal dari GET apa POST.
      kalo get index.php?p=halaman&view=xx-xx-xxx

      ———————————–
      file halaman.php

      if($_GET[‘view’]){
      echo ‘tampil data sortir’;
      }else{
      echo ‘tampil data biasa’;
      }

  • Mantap nih tuts-nya, cara menyembunyikan url-nya supaya tidak tampil gimana ya pak ?
    kan seperti ini index.php?p=home akan tampak url-nya, nah kalau dibuat seperti ini index.php atau seperti ini index.php/home supaya lebih mudah dibaca gimana ya pak ?

    terima kasih.

  • kalo misalnya ada beberapa folder gmn gan pemanggilannya, yang diatas kan satu folder,,misalnya folder1 isinya profil.php, folder2 isi olahraga,php. folder 3 isi berita.php

    • cara yang mudah dengan menambahkan GET lagi pada LINK, misalkan LINK awalnya index.php?p=about menjadi index.php?dir=pages&p=about. dimana dir adalah mengambil nama direktori dan p adalah nama file.
      kemudian rubah kode

      $pages_dir = ‘pages’

      menjadi

      if($_GET[‘dir’]){
      $pages_dir = $_GET[‘dir’];
      }else{
      $pages_dir = ‘pages’;
      }

      • Kalau script yang agan buat diatas ini kan utk folder yg sejajar, namun bila utk sub folder dari folder pages gimana kan, misalnya pages/admin/ dan pages/operator/ dst. terima kasih atas jawabannya…

        • bisa dicoba dengan logika if.
          index.php?page=profil -> ini untuk membuka file profil.php
          index.php?folder=user&page=profil -> untuk membuka folder user file profil.php

          mungkin logikanya kurang lebih seperti itu. bisa anda tambahi sendiri..

          • Terima kasih atas respon nya, saya sudah buat logika if spt yg agan sarankan dan bekerja, namun ada 1 hal yg masih mengganjal saya, dibawah ini saya tuliskan script yg sudah saya modif utk kebutuhan saya dan mohon koreksi agan atas script yang saya buat dibawah ini :

            Kasus nya adalah pada SUBFOLDERnya , bila diberikan link yg salah pada address maka hasil nya akan mengeluarkan “Warning: include() [function.include]: Failed opening ……”
            Bagaimana caranya address yg salah akan mengeluarkan pesan yg sama “echo ‘Halaman tidak ditemukan! :(‘;”.
            Terima kasih atas bantuannya.

            • wah gak muncul script nya, ini saya paste kan lagi ya :

              //$pages_dir = ‘pages’;
              if($_GET[‘dir’]){
              $pages_dir = $_GET[‘dir’]; //folder sejajar dengan folder pages ==> ?dir=pages&p=namafile
              }else{
              $pages_dir = ‘pages’; //nama folder adalah pages
              }
              if(!empty($_GET[‘p’]) || !empty($_GET[‘folder’])){
              $pages = scandir($pages_dir, 0);
              unset($pages[0], $pages[1]);
              //print_r(scandir($pages_dir));

              $p = $_GET[‘p’];
              if(in_array($p.’.php’, $pages)){
              include($pages_dir.’/’.$p.’.php’);
              }
              if($_GET[‘folder’]){
              include($pages_dir.’/’.$_GET[‘folder’].’/’.$p.’.php’); //subfolder
              }
              else {
              echo ‘Halaman tidak ditemukan! :(‘;
              }
              } else {
              include($pages_dir.’/home.php’);
              }

  • Mas, ane udah terapkan semua teknik halaman dinamis ini di tugas besar website saya, dan berhasil.

    yang selanjutnya ane mau bikin yaitu CRUD menggunakan ajax. ane masih bingung cara men-sinkron-kan form input, file ajax, dan file proses.php nya tapi masih menggunakan teknik halaman dinamis punya mas ini.

    mohon penjelasannya. ane sangat berterima kasih jika mas bantu saya.

  • gan nanya, misal klo ada user yang langsung mengakses folder pagesnya, misal user mengetik di url http://localhost/index.php?p=home tampilan akan normal karena css nya sudah di includekan, tapi klo misal ada user yang mencoba mengakses langsung ke foldernya http://localhost/pages/home.php, maka tampilan akan kacau karena file css di include-kan di index, bagaimana caranya pada saat user akses langsung ke folder maka tampilan dijadikan “404 page not found” atau diarahkan ke halaman http://localhost/index.php?p=home, atas pencerahannya terima kasih gan :thanks2

    • link edit sudah tepat, berarti untuk mendapatkan id bisa dengan $_GET[‘id’];
      link delete = index.php?p=delete-profile?id=$data[id_nama] , seharusnya index.php?p=delete-profile&id=$data[id_nama]

  • gan saya mau tnyastruktur folder diatas, seandanya ada page folder dalam page folder
    misal didalam coding.php msh ada about.php
    itu gmn codingnya?
    Thansk sebelumnya

  • bang eror waktu jalanin pertama kali ada tulisan

    “Warning: include(pages/home.php) [function.include]: failed to open stream: No such file or directory in D:\xampp\htdocs\webdinamis\index.php on line 29

    Warning: include() [function.include]: Failed opening ‘pages/home.php’ for inclusion (include_path=’.;\xampp\php\pear\’) in D:\xampp\htdocs\webdinamis\index.php on line 29”

    kalo ane buka menu lain juga muncul eror dibawah ini padahal uda ane buat file menu about contact .php semua bang help .
    “Warning: scandir(pages) [function.scandir]: failed to open dir: No error in D:\xampp\htdocs\webdinamis\index.php on line 19

    Warning: scandir() [function.scandir]: (errno 0): No error in D:\xampp\htdocs\webdinamis\index.php on line 19

    Warning: in_array() [function.in-array]: Wrong datatype for second argument in D:\xampp\htdocs\webdinamis\index.php on line 23
    Halaman tidak ditemukan! :(“

  • Keren gan tutorialnya. Saya mau nanya nih, kalau menunya dibatasi dari database gimana caranya. Contohnya, kalau yang login itu admin menunya ada 10, kalau yang login user menunya hanya 5. Tapi pembatasan menu apa saja yang akan muncul dibatasi dari database dengan memberikan angka 1 atau 0 pada filed menu pada databasenya. Tolong di share kodingnya ya…

    • ya tinggal di cek pas login dia session apa, misal session admin, lalu melakukan query ke database cek apakah menu 1, jika iza maka muncul menu 1, jika tidak menu 0

  • gan ada 2 nih:
    1. setelah membuat halaman dinamis ini, menerapkan insert update deletenya bagaimana ya gan?
    2. bagaimana kalau didalam folder pages ane tambah folder lagi untuk pembagian file biar gak terlalu numpuk, gimana ngakses file yg ada di dalam folder lagi?

  • Kasusnya Gini… Form Input saya misalkan halaman1.php dan dengan method POST,
    halaman prosesnya “INSERT ke data base-nya” adalah halaman1-proses.php
    yang saya ingin tanyakan, bagaimana
    Teknik Redirect (Location: ) , agar pesan sukses, atau gagal tampil ke halaman1.php

    CONTOHNYA : di halaman halaman1-proses.php
    if ($result) {
    echo “Data berhasil di masukan.”;
    } else {
    echo “Data gagal di masukan!”;
    echo mysql_error();
    }

  • ana sudah buat gan, ini ling dimozila stelah ana klik aboutnya gan, siapatau ana yang salah simpan foldernya, maklum baru belajar gan,he πŸ™‚
    file:///C:/Documents%20and%20Settings/user/My%20Documents/pages/index.php?p=about

  • dan ana coba pindahkan foldernya dixamp ada peringatan begini gan,
    Warning: scandir(pages) [function.scandir]: failed to open dir: No such file or directory in C:\xampp\htdocs\pages\index.php on line 19

  • mas mau nanya dong, itu kan tutor buat manggil page yg beda file, nah untuk manggil yg dlm satu file gmn caranya ??
    misalnya manggil bagian/section lain pada one page website.

    • bisa pakek logika if gan. misal ada alamat website localhost/web/index.php?p=satu

      script php nya:

  • kalo konten menu yg saya punya seperti ini script phpnya jadi gmn mas ??

    • ooo.. itu namanya link anchor. iza bisa untuk menuju ke bagian2 tertentu dalam satu dokumen.
      bisa coba script dibawah ini

  • caranya bisa nampilin news & updates yang selalu update kayak di halam websitenya ini gimana ya?? terus nampilin hasil-hasil komentar kayak di atas ada di samping kanan halama gimana ya? makasih..

  • gimana caranya untuk nampilin halaman yang ada body onload nya gmn ya mas? soalnya waktu link nya dipanggil pakek a haref halaman nya terbuka tapi yg ada body onloadnya gak mau keluar. makasih sebelumnya

    • misal mau akses halaman about (index.php?p=about)
      di file index.php di dalamnya ada tag rubah menjadi ini:

  • nice n sangat membantu…, sy mau nanya mas…, sya terapkan halaman yang memiliki koneksi dengan database dan melakukan operasi INSERT database.? misal saya buat link action( form name=”form1″ id=”form1″ method=”get” action=”server_service.php?operasi=insert” (penggunaan case switch operasi “insert”)
    trus nama data yg mw di input nomor dan email, nah ini slalu masalah kalau misalnya sy uda ngisi form dan klik submit maka link akan kacau menjadi server_service.php?nomor=1&email=@gmailc.om, padahal kan seharusnya server_service.php?operasi=insert&nomor=1&email=@gmail.com, ada pencerahan ga mas?? mohon bantuannya trims

    • buat input lagi dengan type hidden, name=operasi, value=insert.

  • oy mas sharing mengenai Restfull api JSON php web service dong.., soalnya untuk artikel indonesia masih sedikit banget yang ngebahas itu..,trims sharingnya πŸ˜€

  • om mau tanya ni,,kalo misal produk.php udah diinclude di index kayak diatas itu,,,trus di dalam produk.php tu ada produk_detail.php (biar gambar produk kalo di klik bisa tampil halaman produk_detail.php dari id_produk produk itu)….lalu gimana caranya manggil produk_detail.php itu kehalaman index?????

    • coba kayak gini -> index.php?p=produk_detail&idproduk=123

      tinggal di dalam script produk_detail.php buat variabel $id = $_GET[‘idproduk’] untuk mendapatkan id-nya..

  • udah tak coba itu om,,,cuma kalo dijalankan masih tetep kosong…

    pdhl kalo gak pake index.php?p=produk_detail&idproduk=123 alias langsung produk_detail.php tu udah bisa muncul detailnya,,,
    mohon pencerahan ya om,,newbie nii,,deadline juga… :angel :sorry

    • apa benar uda ngikutin trik di atas?
      jika sudah struktur folder seharusnya kayak ni:

      pages
      –produk.php
      –produk_detail.php
      index.php

      jadi file produk.php dan produk_detail masuk dalam folder pages,
      kemudian link nya bisa menggunakan index.php?p=produk_detail&id=123

      jika masih tidak bisa silahkan chat saya dengan YM πŸ™‚

  • Gan, gimana caranya klo filenya satu folder? Misalnya semua file seperti index.php about.php contact.php berada folder yang sama
    Apakah $page_dir nya di kosongin gan?
    $pages_dir = ‘ ‘;

      • Halaman tidak ditemukan gan..
        Klo $pages_dir = β€˜ β€˜; error gan..
        Apa harus dihapus ya gan $pages_dir nya?

        Jadi begini gan?

  • mas langkah saya udah persis sprti itu…gmna cara agar meload informasi lain tetep di dalam kolom halaman index.?
    misal dlm index ada berita,acara,dll…
    kasus saya kalau link di klik tetep tampilkan informasi dlm link trsebut namun tdk keluar dari index..mohon bantuannya..pls

  • mas langkah saya udah persis sprti itu…gmna cara agar meload informasi lain tetep di dalam kolom halaman index.?
    misal dlm index ada berita,acara,dll…
    gmn caranya kalau link di klik tetep tampilkan informasi dlm link trsebut namun tdk keluar dari index..mohon bantuannya..pls

  • belum pak…apa yang salah ya pak…link home kalau saya klik masih keluar dari index…
    pls kalau brkenan invite saya ..mudah2an bisa lebih mudah sharingnya…7D407EC1

    • maksud dari tutorial di atas itu ada file index.php, nah file ini adalah template. dan kontennya itu di include dari file2 yang ada pada folder pages.

      • iya pak…itu mksud saya..
        kasus saya sperti ini pak…
        misalnya dalam index ada menu info,berita,dll…nah ketika saya klik menu berita harusnya kontent berita termuat tanpa merubah template…kasus saya menu berita termuat tapi keluar dari template…jadi kalau mau ganti menu yang lain harus di back dulu.gmn pak..

      • kalau koding yang bpk post saya copy bisa dinamis…tapi di home,about,contact saya klik tdk memuat iisinya pak..pdahal di home,about,contact sudah terisi informasi dan sudah saya taruh di pages.

        • silahkan download saja source codenya, tombol download ada di bawah artikel.
          dan pastikan Anda komputer/laptop sudah terinstal web server (appserv).
          kalau masih tidak bisa, silahkan kirimkan source code anda, nanti akan saya bantu. πŸ™‚ :rate

  • gan cara munculin pesan gagal login tp cumn muncul dibawahnya itu gmn pada dasarnya kq punya q malah muter trus gan ? trimakasih mohon pencerahannya

  • maaf mas,mau tanya..mengapa setiap saya ingin klik link tentang kami, visi misi dan seterusnya tidak bisa dan selalu kembali ke “home” :sorry padahal ketika di localhost sudah bisa..adakah yang saya belum ganti sehingga tidak bisa diakses?mohon bantuannya mas,mohon maaf masih belajar.. :shakehand2

  • mas , mau nanya , saya kan ada buat web , tapi web nya masih web statis , itu bisa gak yaa di ubah jadi web dinamis , supaya pas di insert, update dan delete muncul

  • Mau tanya, kalo ada pesan : Warning: include(/home/tokoagr1/public_html/wp-content/themes/indostore2/orderform.php) [function.include]: failed to open stream: Permission denied in /home/tokoagr1/public_html/wp-content/themes/indostore2/single.php on line 16
    apa yang harus saya lakukan?
    trims

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.