iT邦幫忙

0

php 邏輯已死! 留言的刪除準則

php
  • 分享至 

  • xImage
<? if($row['id']==$_SESSION['id']){?>
                        	<? if($com['id']==$_SESSION['id']){?>
                            
                            <button id="remove_<? echo $com['comment_id'];?>">
                            刪除
                            </button>

                            <? }?>
                        <? }?>

以上是我的程式碼
comment_id是留言後自動產生的ID
com['id']是用戶若留言後所留下的ID
SESSION['id']是用戶自身的ID(登入就會有)
row['id']是發表文章的用戶自動產生的ID
用戶自己可以在"自己的文章"留言
別的用戶也可以在"自己的文章"留言

於是卡住了

若是這樣寫的話

<? if($com['id']==$_SESSION['userid']){?>
                            <div style="position:absolute; right:0; top:0;" id="show_remove_<? echo $row['timeline_id'];?>">
                            
                            <button id="remove_<? echo $com['comment_id'];?>" class="n2">
                            <i style="color:#ccc; font-size:15px;" class="material-icons">delete_forever</i>
                            </button>
                            
                            </div>
                        <? }?>

若這樣寫會變成用戶(或別人)看你自己文章時 用戶自己的留言會顯示"刪除"

<? if($row['id']==$_SESSION['userid']){?>
                        	
                            <div style="position:absolute; right:0; top:0;" id="show_remove_<? echo $row['timeline_id'];?>">
                            
                            <button id="remove_<? echo $com['comment_id'];?>" class="n2">
                            <i style="color:#ccc; font-size:15px;" class="material-icons">delete_forever</i>
                            </button>
                            
                            </div>
							
                        <? }?>

若這樣寫會變成自己看自己文章時 所有留言會顯示"刪除"
但是別人看你的文章時 甚麼都不顯示

我要的目的是 當文章若是自己發的
所以底下的留言 不管是自己或別人都可以顯示"刪除"
但是當別人看你的文章時 他自己的留言才會顯示"刪除"

邏輯已死...各位帥哥美女救命!

看更多先前的討論...收起先前的討論...
火爆浪子 iT邦研究生 1 級 ‧ 2016-09-05 15:37:04 檢舉
OH 不會自動斷行耶?
火爆浪子 iT邦研究生 1 級 ‧ 2016-09-05 15:39:09 檢舉
以上ID都是userid 上面我打錯了是id才對~不影響問題
weiclin iT邦高手 4 級 ‧ 2016-09-05 16:37:11 檢舉
邏輯這樣, 自己套到你程式理去
foreach ($comments as $com) {
if ($com['id'] === $_SESSION['userid'] || $row['id'] === $_SESSION['userid']) {
//可以刪除
}
}
火爆浪子 iT邦研究生 1 級 ‧ 2016-09-05 17:07:29 檢舉
感謝大大 以解決!
樓上正解,兩個條件都去判斷,但要用 or 或 and ,樓主要自己看看哪一種是自己要的
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答