簡體   English   中英

PHP發布復選框問題

[英]PHP post checkbox problem

我已經寫了檢查所有內容並刪除的信息,但是當我單擊“刪除”表單時,提交但未發布復選框的值

我的html代碼如下:

<?php
$sql="select * from tbl_comment order by id desc limit $start,$rec_per_page";
$result = $db->sql_query($sql);
?>
<br>
<form action="?page=<?=$_REQUEST['page']?>&op=delete" method="post" name="email">
    <table border=0 cellpadding=5 width="100%" cellspacing=0>
        <tr class="text1">
            <td colspan=3 class="darkBlue"><B>Comment List</B></td>
        </tr>
        <tr bgcolor="#CACBD2" class="text1">
            <td class="text1"><B>Name</B></td>
            <td class="text1"><B>Comment</B></td>
            <td class="text1"><strong>Action   </strong></td>
        </tr>
        <?php
        $r1=0;
        $class='white';
        while($rec=$db->sql_fetchrow($result))
        {
            $status = $rec['status'];
            if($status==1)
                $activelink = '<a href="index.php?page='.$page.'&comment_id='.$rec['id'].'&op=status&flag=disapprove&page_em='.$page_em.'" onclick="return confirm(\'Do you want to disapprove?\')">Disapprove</a>';
            else
                $activelink = '<a href="index.php?page='.$page.'&comment_id='.$rec['id'].'&op=status&flag=approve&page_em='.$page_em.'" onclick="return confirm(\'Do you want to Approve?\')">Approve</a>';
        ?>
        <tr class="<?= $class;?>">
            <td><?=$rec['fname'].$rec['lname']?></td>
            <td><?=$rec['comment']?></td>
            <td><!--<a href="index.php?page=<?=$page?>&comment_id=<?=$rec['id']?>&op=delete" onclick="return confirm('Do you want to Delete?')">[X]</a>--><input type="checkbox" name="chkdelete[]" id="chkdelete[]" value="<?=$rec['id']?>" /><?=$rec['id']?>&nbsp;|&nbsp;<?=$activelink?></td>
        </tr>
        <?php
        if($class=='white')
            $class='lightBlue';
        else
            $class='white'; 
        }

        for($pages = 1; $pages <= $total_pages; $pages++) 
        { 
            if ($pages == $page_em) 
            { 
                $nav .= "<strong  style='font-size:12px;' class='redbold'>".$pages."</strong>&nbsp;&nbsp;";
            } 
            else 
            { 
                $nav .= "<a href=\"?page_em=".$pages."&page=comments\">".$pages."</a>&nbsp;&nbsp;";
            }         
        }

        if ($total_pages > 1)
        {
            if (($page_em-1) > 0) {
                $prev= "<a href=\"?page_em=".($page_em-1)."&page=comments\">Previous</a>&nbsp;&nbsp;";
            } else {
                $prev= "Previous&nbsp;&nbsp;";
            }
            $content .= "&nbsp;&nbsp;";
            if (($page_em+1) <= $total_pages) {
                $next.= "<a href=\"?page_em=".($page_em+1)."&page=comments\">Next</a>";
            } else {
                $next= "Next";
            }
        }

        $NavigationButton=$prev.$nav.$next;
        if($total_rec==0){
            $NavigationButton="Record not found!";
        }
        ?>  
        <tR class="text1">
            <td ><?=$NavigationButton?></td>
            <td></td>
            <td align="left">
                <strong>
                    <input type="checkbox" name="All" id="All" value="yes"  onclick="javascript:checkall();"/> (Select All) |
                    <label>
                        <input type="submit" name="Submit" value="Delete Selected" onclick="return confirm('Do you want to Delete?')"/>
                    </label>
                </strong>
            </td>
        </tr>
    </table>
</form>
<?php
}

刪除功能如下:

function delete_email()
{

    print_r($ids = $_POST['chkdelete']);

    foreach($ids as $key=>$id)
    {
        echo "hi2"; die;
        global $db;
        //$email=$_GET['comment_id'];
        $sql="delete from tbl_comment where id='".$id."'";
        $db->sql_query($sql);
        echo "deleted comments".$id;
    }
    //$url="index.php?page=".$page;
    //header("Location:".$url);
}

任何人請幫助我

據我所知,您的復選框名稱為chkdelete[]而您引用的是POST變量chkdelete (不帶[])。

<form action="?page=<?=$_REQUEST['page']?>&op=delete" ...

您通過此表單操作達到正確的功能嗎? 另外,如果您對此網址進行一些重定向,則$ _POST數據將丟失(發出另一個請求,但沒有發布數據)。

應該與您的問題無關,但值得注意的是,您正在為所有復選框分配相同的DOM ID('chkdelete []'),而它應該是唯一的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM