Postingan lainnya
bagaimana cara buat hapus artikel khusus user
Maaf kalau judulnya kurang jelas...
Disini saya sedang membuat blog sederhana, yaitu blog dengan php native yang siapapun bisa register dan menulis artikel di sana.
Jadi di sini saya ingin membuat user itu hanya bisa menghapus artikel yang dia tulis saja.
sedangkan artikel yang di tulis orang lain dia gak bisa edit & menghapusnya...
Dan untuk button hapus artikel juga hanya ada di artikel yang mereka tulis sedangkan artikel orang lain dia gak ditampilin button hapus untuk nya.
kira" logika pembuatannya gimana yaa?
Tanggapan
pakai mysqli
2 Jawaban:
<div>Hallo, izin bantu menjawab ya.<br>Bayangan saya seperti ini :<br><br>> Tabel Artikel<br>- id<br>- id_penulis<br>- judul<br>- kategori<br>- konten<br>- tanggal<br><br>> Tabel Penulis<br>- id_penulis<br>- nama<br><br>Nah, dari situ sebenarnya kita bisa melakukan pengujian (pengecekan pada saat proses menghapus data),<br><br></div><pre>$id_penulis = 1; $artikel <-- Ibaratkan kita udah ambil data artikel yg mau dihapus, ditampung di variabel tersebut
//Gunakan if untuk mengecek, apakah artikel tersebut ditulis oleh penulis tsb atau bukan berdasarkan id_penulis di tabel artikel if($artikel->id_penulis === $id_penulis) { mysqli_query($conn, "DELETE FROM artikel WHERE .... "); } else { echo "Artikel ini bukan tulisan Anda, gagal menghapus!". } <br></pre><div><br>Semoga jelas dan bisa dipahami. </div>
Tanggapan
Mau coba dulu...
<div>Kalau bayangan saya sih Anda punya SESSION id_penulis atau id_user.<br>Dan untuk id_artikel nya dengan metode GET id.<br><br></div><pre>// Mengambil id_penulis dari suatu artikel $sql = mysqli_query($koneksi, "SELECT id_penulis FROM artikel WHERE id_artikel='$_GET[id]'"); $r = mysqli_fetch_array($sql);
// Mengecek apakah id_penulis yang di query tadi sama dengan SESSION id_penulis if ($r['id_penulis'] == $_SESSION['id_penulis']) { mysqli_query("DELETE FROM artikel WHERE id_artikel='$_GET[id]'"); } else { echo "Artikel ini bukan tulisan Anda, gagal menghapus!"; }</pre><div><br>==================================================================<br><br>Kalau ingin button hapus artikel di tampilkan jika dia penulis nya,<br>Anda bisa memilih salah satu dari dua cara ini:<br>1. Button hapus artikel di tampilkan jika dia penulis nya, atau<br>2. Artikel yang di tampilkan hanya punya dia.<br><br>Cara pertama,</div><pre>$sql = mysqli_query($koneksi, "SELECT * FROM artikel"); while ($r=mysqli_fetch_array($sql)) { .......... $query = mysqli_query($koneksi, "SELECT id_penulis FROM artikel WHERE id_artikel='$r[id_artikel]'"); $row = mysqli_fetch_array($query); if ($r['id_penulis'] == $row['id_penulis']) { // Tampilkan tombol hapus } }</pre><div><br>Cara kedua,</div><pre>$sql = mysqli_query($koneksi, "SELECT * FROM artikel WHERE id_penulis='$_SESSION[id_penulis]'"); while ($r=mysqli_fetch_array($sql)) { .......... // Tampilkan tombol hapus }</pre><div><br>Cara pertama memungkinkan penulis melihat semua artikel termasuk yang bukan dia tulis,<br>Sedangkan, cara kedua memungkinkan penulis melihat punya dia sendiri.<br><br>Pilih yang mana terserah anda,<br>Semoga membantu.</div>