在codeigniter中将删除后的id发布

I have two tables users and posts where is the primary key is id. When i click on delete button, i want to post the id.

Here is my view:

<table class="table">
    <thead class="thead-dark">
        <tr>
            <th scope="col">Title</th><th scope="col">Hit</th>
            <th scope="col">Edit</th><th scope="col">Delete</th><th scope="col">Read More</th>
        </tr>
    </thead>
    <tbody>
        <?php foreach($posts as $post) : ?>
            <?php if($this->session->userdata('username') ==  $_SESSION["username"]): ?>
                <tr>
                    <td><?php echo $post['title']; ?> </td>
                    <td><?php echo $post['post_views']; ?></td>
                    <td><a class="btn btn-default" href="<?php echo base_url(); ?>posts/edit/<?php echo $post['slug']; ?>">Edit</a></td>
                    <td>
                        <?php echo form_open('/posts/delete/'.$post['id']); ?>
                            <input type="submit" value="Delete" class="btn btn-danger">
                            <input type="hidden" name="id" value="<?php echo $post['id'] ?>" />
                        </form>
                    </td>
                    <td><p><a class="btn btn-default" href="<?php echo site_url('/posts/'.$post['slug']); ?>">Read More</a></p></td>
                </tr>
            <?php endif; ?>
        <?php endforeach; ?>
    </tbody>
</table>

There are so many ways to do this, the best most common one is to get it from the url like this:

$id = @end($this->uri->segment_array());

Or this:

$id = $this->uri->segment(3);

Or you can do this by passing it in a hidden input like this:

<?php echo form_open('/posts/delete/'.$post['id']); ?>
    <input type="submit" value="Delete" class="btn btn-danger">
    <input type="hidden" name="id" value="<?php echo $post['id'] ?>" />
</form>

Or using ajax.

delete link with confimation

<a href="javascript:;" class="btn btn-danger" onclick="delete('<?php echo $post['id'] ?> ')">Delete</a>

call delete method in js and then show confimation msg.

Why you are using form tag to call a function? You can do this with anchor tag easily and can pass id. This one line code will work perfectly

<td><a class="btn btn-danger" href="<?= site_url('posts/delete/'.$post['id']) ?>">Delete</a></td>

In controller delete function will be like this

public function delete($id){
   echo $id;
}