Codeigniter:遇到PHP错误

时间:2014-09-25 10:31:30

标签: php codeigniter notice

我是codeigniter的新手。我能够添加数据但无法从数据库中检索以进行编辑。错误如下所示:

严重程度:通知 消息:未定义的变量:mailshot 文件名:mailshot / edit.php 行号:17

帮我修复错误。这是Controller的代码和后面的表单:

public function edit() {

    /* Load model */
    $this -> load -> model('mailshot_model');
    /* End here */

        $data = array();

    if ($this -> input -> post()) {

        $data = array('title' => strip_tags(addslashes(trim($this -> input -> post('title')))),
        'url' => strip_tags(addslashes(trim($this -> input -> post('mailshoturl')))),
        'type' => strip_tags(addslashes(trim($this -> input -> post('type')))),
        'status' => strip_tags(addslashes(trim($this -> input -> post('status')))),
        'modified_by' => $this -> userid);

        $lastid = $this -> mailshot_model -> update_record($data);

        $links = array('msid' => $lastid,
        'ms_title' => strip_tags(addslashes(trim($this -> input -> post('title')))),
        'status' => strip_tags(addslashes(trim($this -> input -> post('status')))),
        'modified_by' => $this -> userid);


        /* Load Model */    
        $this -> load -> model('mailshotlinks_model');
    /* End here */
        $linkid = $this -> mailshotlinks_model -> update_record($links);
        if (isset($lastid)) {
            redirect(base_url() . 'mailshot', 'location');

        }
        //$lastid = $this -> mailshot_model -> add_record($data);
         else {
            $data = array("error" => 'Unable to create record.Please try agin ');
        }
    }

    $this -> layout -> view('mailshot/edit', $data);

}

<form class="mws-form" action="#" method="post" id="addevent_form"  enctype="multipart/form-data" >
                <div class="mws-form-inline">
                    <div class="mws-form-row">
                        <label class="mws-form-label">Mailshot Title:<span style="color: red">*</span></label>
                        <div class="mws-form-item">
                        <input type="text" name="title" id="title" value="<?php echo $mailshot['title']; ?>" class="medium">
                    </div>
                    </div>
                </div>
                <div class="mws-form-inline">
                    <div class="mws-form-row">
                        <label class="mws-form-label">URL:<span style="color: red">*</span></label>
                        <div class="mws-form-item">
                        <input type="text" name="mailshoturl" id="mailshoturl" value="<?php echo $mailshot['url']; ?>" class="medium">
                    </div>
                    </div>
                </div>



                <div class="mws-form-inline">
                    <div class="mws-form-row">
                        <label class="mws-form-label">Type:<span style="color: red">*</span></label>
                        <div class="mws-form-item">
                        <select name="type" id="type">
                            <option value="" selected="selected">Choose Mailshot Type</option>
                            <option value="paid" <?php if($mailshot['type'] == 'paid'){ echo "selected=selected"; } ?>>Paid</option>
                            <option value="free" <?php if($mailshot['type'] == 'free'){ echo "selected=selected"; } ?>>Free</option>


                        </select>
                        </div>
                    </div>
                </div>


                <div class="mws-form-inline">
        <div class="mws-form-row">
        <label class="mws-form-label">Status:<span style="color: red">*</span></label>
             <div class="mws-form-item">
              <select name="status" id="status">
                <option value="">--None--</option>
               <option value="Active" <?php if($mailshot['status']=='Active'){ echo "selected=selected"; }?>>Active</option>
              <option value="Inactive" <?php if($mailshot['status']=='Inactive'){ echo "selected=selected"; }?>>In Active</option>
              <option value="Disabled" <?php if($mailshot['status']=='Disabled'){ echo "selected=selected"; }?>>Disabled</option>
              </select>
             </div>
             </div>
      </div>

                <div class="mws-button-row">
                    <input type="submit" value="Submit" class="btn btn-success">
                </div>
            </form>

1 个答案:

答案 0 :(得分:0)

不要忘记在所有查询后使用get()方法。

 function listAll() {

            $query = $this -> db -> query("select a.id as id ,
             a.title as title,
             a.url as url,
             a.type as type,
             a.type as status,
             a.description as description,
             a.status as status,
             a.created_date as created_date,
             a.modified_date as modified_date,
             u.username AS created_by,
             c.username AS modified_by from " . $this -> tablename . " as a 
             LEFT JOIN tbl_admin u ON a.created_by = u.id
             LEFT JOIN tbl_admin c ON a.modified_by = c.id order by a.id desc")->get();
            return $query -> result_array();
        }

        function listone($id) {

            $query = $this -> db -> query("SELECT
             a.id as id ,
             a.title as title,
             a.url as url,
             a.type as type,
             a.type as status,
             a.status as status,
             a.modified_date as modified_date,
             c.username AS modified_by
             FROM " . $this -> tablename . " AS a
             LEFT JOIN tbl_admin c ON a.modified_by = c.id
             WHERE a.id=" . $id)->get();

            return $query -> result_array();
        }

        function get_record($id) {
            $query = $this -> db -> query("SELECT
             a.id as id ,
             a.title as title,
             a.url as url,
             a.type as type,
             a.type as status,
             a.status as status,
             a.created_date as created_date,
             a.modified_date as modified_date,
             u.username AS created_by,
             c.username AS modified_by
             FROM " . $this -> tablename . " AS a
             LEFT JOIN tbl_admin c ON a.modified_by = c.id
             WHERE  a.id=" . $id)->get();

            return $query -> row_array();
        }