Notice: Undefined index

 http://www.duniailkom.com/tutorial-form-php-cara-membuat-validasi-form-php-fungsi-isset-dan-empty/

if (isset($_POST['jumlah']) AND isset($_POST['jk']))
{
    $jumlah=$_POST['jumlah'];
    $jk=$_POST['jk'];
}




Memeriksa Ketersediaan Variabel Form dengan Fungsi isset()

Validasi pertama yang paling sederhana dan ‘hampir’ selalu ada dalam tiap proses validasi form dalam PHP adalah memeriksa apakah objek form tersebut sudah tersedia atau tidak. Sebagai contoh sederhananya: apakah variabel $_GET[‘nama’] tersedia untuk diproses atau tidak.
Proses memeriksa ‘ketersediaan’ variabel ini menjadi penting karena PHP akan mengeluarkan pesan peringatan jika kita mengakses nilai sebuah variabel yang belum didefenisikan terlebih dahulu.
Sebagai contoh, jika kita mengakses langsung halaman proses.php (tanpa melalui halaman form.html) dan tanpa menambahkan URL (seperti pembahasan pada tutorial Perbedaan Metode Pengiriman Form GET dan POST) PHP akan menampilkan pesan peringatan seperti berikut ini:
Pesan kesalahan (error) PHP karena variabel tidak tersedia - Undefined Index
Notice: Undefined index adalah pesan error yang terjadi karena kita langsung menampilkan variabel $_GET[’nama’] dan $_GET[’email’] yang memang belum diset sebelumnya.
Untuk memeriksa apakah sebuah objek form telah didefenisikan atau telah di-set sebelumnya, kita bisa menggunakan fungsi bawaan PHP: isset(). Fungsi isset() akan menghasilkan nilai true jika sebuah variabel telah didefenisikan, dan false jika variabel tersebut belum dibuat.
Sebagai langkah antisipasi, saya akan membuat proses validasi untuk menangani variabel $_GET yang belum di-set, berikut adalah modifikasi file proses.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if (isset($_GET['nama']))
{
   echo $_GET['nama'];
}
  
echo "<br />";
  
if (isset($_GET['email']))
{
   echo $_GET['email'];
}
?>
Sekarang, file proses.php tidak akan menghasilkan error apabila diakses tanpa melalui form.html. Namun perubahan kode tersebut tidak terlalu berguna karena tidak memberikan pesan error yang jelas. Berikut adalah modifikasi file proses.php agar lebih informatif:
1
2
3
4
5
6
7
8
9
10
11
<?php
if (isset($_GET['nama']) AND isset($_GET['email']))
{
   echo $_GET['nama'];
   echo $_GET['email'];
}
else
{
   echo "Maaf, anda harus mengakses halaman ini dari form.html";
}
?>
Pesan kesalahan yang diset saat variabel tidak tersedia dalam PHPPada kode PHP diatas saya mengharuskan nilai $_GET[‘nama’] dan $_GET[‘email’] tersedia, baru nilai ditampilkan, namun jika tidak ada, akan ditampilkan pesan bahwa halaman ini hanya bisa diakses dari form.html.

Subscribe to receive free email updates:

0 Response to "Notice: Undefined index"

Post a Comment