Cara menggunakan location href php

Dari cara penanganan objek form dengan method=GET, kita dapat melihat bahwa HTML mengirimkan ’isi’ form melalui alamat URL. Cara pengiriman seperti ini bisa kita manfaatkan sebagai sarana mengirim pesan (dalam bentuk variabel) antar halaman PHP. Jika ditambah dengan fungsi header(), kita bisa memanfaatkan fitur ini untuk menampilkan pesan kesalahan dari sebuah form.

Cara Mengirim Variabel Antar Halaman PHP

Dalam PHP terdapat beberapa cara untuk mengirim variabel antar halaman. Salah satunya adalah dengan memanfaatkan cara pengiriman form dengan method=GET. Jika kita mengirim form dengan metode GET, maka hasil dari form akan ditambahkan di dalam menggunakan variabel superglobal $_GET.

Sebagai contoh, jika di dalam form terdapat kotak input dengan atribut name=user_name yang diisi dengan ’duniailkom’, maka ketika dikirim untuk diproses ke halaman proses.php, di dalam URL akan menjadi:

proses.php?user_name=duniailkom

dan didalam halaman proses.php, variabel $_GET[’user_name’] akan berisi ’duniailkom’.

Dengan cara ini kita bisa mengirim variabel dari sebuah halaman ke halaman lain. Misalkan kita membuat sebuah kondisi logika dengan PHP, dan jika logikanya salah maka tampilkan sebuah link yang menyatakan bahwa alamat tidak lengkap. Pengiriman pesan ini bisa ditulis sebagai berikut:

proses.php?pesan=alamat+tidak+lengkap.

Ketika user men-klik link tersebut, pada halaman proses.php akan memiliki sebuah variabel $_GET[’pesan’] yang berisi: ’alamat tidak lengkap’.

Kita bisa memanfaatkan ini untuk berbagai hal, dan dalam tutorial kali ini kita akan menggunakan cara ini untuk menampilkan pesan kesalahan dari form.

Sebelum kita mengetahui secara spesifik redirect PHP, sebaiknya perlu dipahami dengan cepat bagaimana tepatnya redirect HTTP bekerja.

Artikel Terkait  Tutorial PHP 6 : Konstanta PHP dan Cara Mendefinisikannya

Cara Kerja Redirect Pada Umumnya

Mari kita pahami apa yang terjadi pada diagram yang ada di atas:

  • Client browser meminta halaman tertentu dari server. Pada contoh di atas, client telah meminta isi dari file index.php.
  • Server menerima permintaan file index.php dan ingin memberi tahu client bahwa itu tidak lagi tersedia atau dipindahkan ke tempat lain, dan seharusnya mencari file baru sebagai gantinya: new_index.php. Server mengirimkan tajuk Lokasi dengan URL baru bersama dengan kode HTTP 301 atau 302. Ini adalah kode HTTP untuk redirect.
  • Ketika browser klien menemukan kode 301 atau 302, ia tahu bahwa ia harus memulai permintaan lain ke URL baru untuk mengambil konten. Ini memulai permintaan untuk mengambil file new_index.php dalam contoh di atas.
  • Terakhir, server mengirimkan konten URL baru.

Jadi begitulah cara kerja redirect HTTP dasar. Di bagian selanjutnya, kita akan membahas cara kerja redirect PHP.

PHP Redirect dan Membuat Redirect PHP Script

Di PHP, ketika Anda ingin mengarahkan pengguna dari satu halaman ke halaman lain, Anda perlu menggunakan fungsi header(). Fungsi header  memungkinkan Anda mengirim header lokasi HTTP mentah, yang melakukan redirect sebenarnya seperti yang telah kita bahas di bagian sebelumnya.

Redirection dalam PHP dapat dilakukan dengan menggunakan fungsi header(). Untuk setup, redirect sederhana cukup membuat file index.php di direktori yang ingin Anda redirect. Berikut ini cara menggunakan fungsi header:

Coba perhatikanlah sintaks dari fungsi header().

header( $header, $replace, $http_response_code )

  • $header: Fungsi ini adalah string header HTTP yang ingin Anda gunakan. Dalam kasus kami, kami akan menggunakan tajuk Lokasi untuk redirect.
  • $replace: Fungsi ini adalah parameter opsional yang menunjukkan apakah header harus menggantikan header serupa sebelumnya.
  • $http_response_code: Fungsi ini memungkinkan Anda mengirim kode respons tertentu.

Sekarang, lihatlah contoh berikut untuk memahami bagaimana semuanya bekerja bersama.

<?php // index.php header("Location: //www.situsanda.com/index.php"); exit(); ?>

Ketika redirect PHP script di atas dijalankan, ia akan mengarahkan browser klien ke //www.situsanda.com/index.php. Di latar belakang, ia mengirimkan header Lokasi HTTP mentah bersama dengan kode status 302.

Kode status 302 digunakan untuk redirect sementara, tetapi jika Anda ingin redirect permanen, Anda dapat meneruskan kode 301 dalam argumen ketiga, seperti yang ditunjukkan dalam redirect PHP script berikut:

<?php // index.php header("Location: //www.situsanda.com/index.php", TRUE, 301); exit(); ?>

Redirect permanen 301 memungkinkan Anda memberi tahu bot pencarian bahwa halaman tersebut tidak lagi tersedia, dan dapat diganti dengan halaman baru.

Artikel Terkait  Tutorial PHP 9 : Belajar Menggunakan Sort Array PHP Berdasarkan Key dan Value

Mengapa Anda Harus Menggunakan Fungsi Die() atau Exit() Setelah Redirect Header?

Mungkin ada yang bertanya-tanya, mengapa menggunakan fungsi exit()? Kalau Anda jeli, Anda akan menemukan pada contoh-contoh di atas bahwa redirect PHP script di atas menggunakan fungsi exit().

Anda memang diwajibkan menggunakan fungsi exit() atau die() segera setelah redirect header untuk menghentikan eksekusi skrip dan menghindari hasil yang tidak diinginkan. Jadi, Anda selalu disarankan untuk menggunakan salah satu fungsi ini setelah redirect.

Kemudian kami akan membahas tentang kesalahan umum yang dilakukan yaitu headers yang sudah dikirim atau “Headers Are Already Sent”.

Jika Anda seorang programmer PHP yang berpengalaman, saya yakin Anda pernah menemukan kesalahan PHP yang terkenal ini di beberapa titik dalam pengembangan PHP Anda sehari-hari. Namun, untuk pemula, menemukan kesalahan ini sangat mengganggu, karena sangat sulit untuk di-debug dan diperbaiki. Dalam kebanyakan kasus, mereka bahkan tidak tahu bahwa itu disebabkan oleh redirect header.

Aturan praktis yang harus Anda terapkan ketika menggunakan fungsi header() dalam redirect PHP script Anda. Anda perlu memastikan bahwa Anda tidak mengirim output apa pun sebelumnya. Jika tidak, PHP akan mengeluh dengan kesalahan “Headers Are Already Sent”. Ini dapat terjadi bahkan jika Anda telah mengirim satu spasi sebelum menggunakan fungsi header.

Demikianlah penjelasan tentang redirect PHP. Pada seri tutorial ini, kami telah membahas salah satu fitur penting dari pemrograman PHP: redirection. Kami juga telah membahas dasar-dasar redirect HTTP, dan kemudian saya mendemonstrasikan cara kerjanya di PHP. Harapannya, Anda bisa lebih memahami tentang PHP dan bisa menjadi programmer PHP handal.

Jika Anda tertarik untuk belajar PHP lebih jauh, pastikan Anda mengecek semua seri Tutorial PHP yang ada di Codekey. Situs //codekey.id/ merupakan media untuk Anda belajar berbagai bahasa pemrograman, tidak hanya PHP tetapi juga berbagai bahasa pemrograman lain.

Postingan terbaru

LIHAT SEMUA