Perbedaan Perintah SERVER_NAME, REQUEST_URI dan PHP_SELF

Seringkali mungkin kita melihat sebuah perintah $_SERVER[‘SERVER_NAME’], $_SERVER[‘REQUEST_URI’], dan $_SERVER[‘PHP_SELF’] dalam bahasa pemrograman PHP. Dalam kasus – kasus tertentu kita mungkin akan sering memainkan fungsi ini, misalnya saja ketika kita membutuhkan link url alamat website yang sedang aktif atau alamat direktori aktif yang sedang diakses untuk keperluan tertentu.

Perbedaan Perintah SERVER_NAME, REQUEST_URI dan PHP_SELF

Berikut ini penjelasan singkat saya mengenai perbedaan ketiga perintah tersebut :
  1. $_SERVER[‘SERVER_NAME’] = Perintah ini digunakan untuk mendapatkan nama dari alamat server yang kita gunakan. Contoh website Anda ada di di http://localhost/ maka dengan perintah SERVER_NAME php bisa mendapatkan alamat / nama servernya
  2. $_SERVER[‘REQUEST_URI’] = Perintah ini digunakan untuk mendapatkan alamat url direktori dan file yang sedang aktif diakses oleh user. REQUEST_URI lebih spesifik. Contoh : Misal Anda sedang mengakses halaman http://localhost/cmsrimi/read.php?id=2 maka ketika perintah REQUEST_URI Anda jalankan, perintah tersebut akan mencetak nilai cmsrimi/read.php?id=2
  3. $_SERVER[‘PHP_SELF’] = Perintah ini hampir sama seperti perintah $_SERVER[‘REQUEST_URI’] hanya saja dia tidak sepesifik, perintah hanya akan mencetak nilai url alamat direktori dan file yang sedang diakses.
    Contoh : Anda sedang mengakses alamat url http://localhost/cmsrimi/read.php?id=2 maka ketika perintah $_SERVER[‘PHP_SELF’] dijalankan, fungsi tersebut akan mencetak nilai cmsrimi/read.php
Persamaan Perintah SERVER_NAME, REQUEST_URI dan PHP_SELF
Bila kita perhatikan fungsi – fungsi yang saya paparkan di atas sebenarnya memiliki persamaan, yaitu perintahnya sama – sama diawali dengan nilai $_SERVER, dan sama – sama untuk mendapatkan nilai url yang sedang aktif diakses oleh user.
Contoh – contoh kasus atau pemanfaatan fungsi
  1. Bagaimana cara mendapatkan alamat url yang aktif digunakan oleh user untuk keperluan misal share url pada api share facebook ?
    Jawaban :
    Anda bisa menggabungkan perintah SERVER_NAME dan REQUEST_URI. Contoh : misal user sedang mengakses laman http://localhost/cmsrimi/read.php?id=2 maka untuk mencetak nilai tersebut, Anda bisa menggunakan perintah berikut :
    <?php
    $d=$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
    echo $d;
    ?>

    Output akan menghasilkan kombinasi antara nama server dan file yang sedang diakses, atau dalam contoh ini, nilai akan menghasilkan nilai localhost/cmsrimi/read.php?id=2
  2. Bagaimana cara mendapatkan alamat server dan nama direktori yang sedang diaksesnya ?
    Jawaban :
    Anda bisa menggabungkan kedua perintah yang sama seperti diatas, namun dengan sedikit tambahan perintah dirname(); pada fungsi REQUEST_URI. Contoh : Misal Anda sedang mengakses alamat url http://localhost/cmsrimi/index.php maka untuk memenuhi kondisi seperti yang diatanyakan pada point 2, Anda bisa menggunakan perintah berikut
    <?php
    $d=$_SERVER['SERVER_NAME'].dirname($_SERVER['REQUEST_URI']);
    echo $d;
    ?>
    

    Output akan menghasilkan kombinasi antara nama server dan file yang sedang diakses, atau dalam contoh ini, nilai akan menghasilkan nilai localhost/cmsrimi
    Kondisi lain :
    Jika misal Anda hanya ingin mendapatkan nama direktori aktif yang sedang diakses saja. Anda bisa gunakan perintah berikut :
    $d=$_ dirname($_SERVER['REQUEST_URI']);
    echo $d;
    output /cmsrimi
  3. Bagaimana cara melakukan proses update data didalam form pada halaman yang sama ?
    Jawaban :
    Anda misal sedang aktif mengakses halaman edit/update sebuah data pada url localhost/cmsrimi/edit.php?id=2 , maka pada form action Anda bisa menggunakan parameter seperti berikut :
    <form action="basename($_SERVER['REQUEST_URI'])" method="post">

Baca juga : Mengirim Data ke Database Menggunakan Satu File PHP

0 Response to "Perbedaan Perintah SERVER_NAME, REQUEST_URI dan PHP_SELF"

Post a Comment

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin