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?

avatar creativechannel_google
@creativechannel_google

7 Kontribusi 8 Poin

Diperbarui 3 tahun yang lalu

Tanggapan

pakai mysqli

2 Jawaban:

<div>Hallo, izin bantu menjawab ya.<br>Bayangan saya seperti ini :<br><br>&gt; Tabel Artikel<br>- id<br>- id_penulis<br>- judul<br>- kategori<br>- konten<br>- tanggal<br><br>&gt; 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 &lt;-- 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-&gt;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.&nbsp;</div>

avatar ahanafi
@ahanafi

815 Kontribusi 552 Poin

Dipost 3 tahun yang lalu

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>

avatar syahid246
@syahid246

70 Kontribusi 160 Poin

Dipost 3 tahun yang lalu

Login untuk ikut Jawaban