Penulisan Variabel pada URL dan Pengambilannya dalam PHP

Contoh Kasus:

Seorang anak private mempunyai satu aplikasi pemesanan barang, dimana saat dia akan hapus satu barang maka barang itu tidak terhapus.

Diketahui:

Nama aplikasinya adalah dkb_03 jadi dari URL diakses dengan http://localhost/dkb_03

Dia sudah menampilkan pesanan pembeli seperti terlihat pada gambar dibawah ini:

Permasalahan:

Saat dia klik tulisan Kembalikan maka seharusnya barang yang dipesan tersebut terhapus, tapi masalahnya kenapa barang tersebut tidak terhapus … ?

Kode Yang sudah dibuat

<?php 

echo'<b>Daftar Barang Yang Sudah anda Pesan</b><br>’;

include(“config.php”);

$user = $_SESSION[“namauser”];

$sql=”SELECT barang.id_barang,barang.nama_barang,barang.harga fromuser

inner join pemesanan on pemesanan.User_ID = user.ID

inner join barang on barang.id_barang = pemesanan.id_barang

where user.username = ‘$user’ and pemesanan.tanggal = CURDATE()”;

$res=mysql_query($sql)or die(mysql_error());

$jml = 0;

if(mysql_num_rows($res)>0)  {

echo ” <p align=right><a href=logout.php title=Logout>

<img src=icon/exit.png></a></p>

<table border=1 cellspacing=0 width=100%>

<tr bgcolor=silver>

<td width=10% align=center>ID</td>

<td width=10% align=center>Nama Barang</td>

<td width=10% align=center>Harga</td>

<td width=10% align=center>Status</td>

</tr>”;

while ($data=mysql_fetch_row($res))         {

echo “<tr>

<td align=center>$data[0]</td>

<td align=center>$data[1]</td>

<td align=center>$data[2]</td>

<td align=center><font color=red size=1>Belum di&nbsp;</font>

<a href=hapus_pesanan.php?pemesanan.id_barang=$data[0]><font size=1>Kembalikan</font></a>

</td>

</tr>”;

$jml = $jml + $data[2];

}

echo “</table>”;

}

else

echo “<font color=red>Tidak ada data dalam tabel</font>”;

?>

Keterangan:

  • Lihat tulisan yang berwarna merah, jadi saat saya mengklik tulisan ‘Kembalikan’ maka halaman akan menuju ke hapus_pesanan.php?pemesanan.id_barang, jadi di URL akan terbentuk http://locahost/dkb_03/hapus_pesanan.php?pemesanan.id_barang=7

Analisa:

  • Lihat URL http://locahost/dkb_03/hapus_pesanan.php?pemesanan.id_barang=7, setelah tanda tanya itu apa … ?
  • Setelah tanda tanya itu adalah variabel dan nilainya jadi variabelnya adalah pemesanan.id_barang dan nilainya adalah 7.
  • Masalahnya adalah nama variabelnya tidak valid sesuai dengan ketentuan penamaan variabel dalam PHP maka kita harus merubah linknya menjadi <a href=hapus_pesanan.php?id_barang=$data[0]>

Pengambilan Variabel dari URL

Agar datanya bisa dihapus maka kita harus mengambil variabel id_barang dari URL tersebut.

Kode yang sudah dibuat

<?php 

include’config.php’;

$hapus=”DELETE FROM pemesanan where pemesanan.id_barang=[$id]”;

$hasil=mysql_query($hapus);

if($hasil){

header(“location:indexlogin.php”);

}else{

echo’Penghapusan gagal?!’;

}

?>

Analisa:

  • Dari kode diatas tidak terlihat ada kode yang mengambil variabel id_barang dari URL, jadi kita harus mengambilnya dengan kode $id=$_GET[‘id_barang’].
  • Dari kode diatas terlihat pada Syntax SQL terdapat [$id], penulisan ini salah, harusnya $id ini berada diantara kutip satu seperti ‘$id’.

Jadi kode diatas harusnya berbentuk seperti kode dibawah ini:

<?phpinclude ‘config.php’; 

$id=$_GET[‘id_barang’];

$hapus=”DELETE FROM pemesanan where pemesanan.id_barang=’$id'”;

$hasil=mysql_query($hapus);

if($hasil){

header(“location:indexlogin.php”);

}else{

echo’Penghapusan gagal?!’;

}

?>

 

 

Jika tutorial ini bermanfaat silahkan katakan ‘Terima Kasih Fahmi Basya Kartapura‘.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *