简体   繁体   中英

Why I can't update the record in codeigniter?

I am getting this error, A PHP Error was encountered Severity: Notice

Message: Trying to get property 'post_title' of non-object.

I cannot get the form inputs to print on the page and cannot update. Please help! So, I have tried to update each record and only artist users are able to do that. But I cannot figure out how to show the individual post on the form page. The records saves correctly and deletes but cannot update them.

Controller

function editpost($post_id)//Edit post page
{
    if (!$this->session->Role =='member,artist') 
    {
        redirect(base_url() . 'login');
    }
    $data['success'] = 0;

    if( !empty($this->input->post('post_title')) ) {
        $data['post_title']             =  $this->input->post('post_title');
        $data['post']                   =  $this->input->post('post');
        $data['active']                 =  1;
                    /* >> file attach */




View
                    <form action="<?= base_url()?>starter/editpost/" method="post" class="justify- 
content-center"  enctype='multipart/form-data'>
                        <div class="form-group">
                            <label class="sr-only">Title</label>
                            <input type="text" class="form-control" placeholder="Title" 
name="post_title" value="<?php echo $post->post_title; ?>">
                        </div>
                        <div class="form-group">
                            <label class="sr-only">Description</label>
                            <textarea class="form-control" placeholder="Describe it" name="post" ><? 
php echo $post->post; ?></textarea>
                        </div>
                        <div class="row py-4">
    <div class="col-lg-6 mx-auto">

        <!-- Upload image input-->
<!-- File Button --> 

  <div class="col-md-5">
<input name="main_img[]" type="file" accept="image/x-png,image/gif,image/jpeg">
</div>

<br>
<br>

<p style="padding-top: 15px"><span>&nbsp;</span><input class="submit" type="submit" name="update" 
value="Publish" /></p>
                    </form>

use direct the variable because you are passing just values which you are posting from form.

//like :
//for post_title 
<input type="text" class="form-control" placeholder="Title" 
name="post_title" value="<?php echo $post_title; ?>">
// for description
textarea class="form-control" placeholder="Describe it" name="post" ><? 
php echo $post; ?></textarea>

您不需要在控制器中传递发布数据,您可以在任何地方获取发布数据

<input type="text" class="form-control" placeholder="Title" name="post_title" value="<?php echo ($this->input->post('post_title')!='')?$this->input->post('post_title'):''; ?>">

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM