dqsvf28682 2017-07-25 11:38
浏览 35
已采纳

在Opencart中使用自定义视图插入数据

When user submit the data i will be getting this error

Fatal error: Uncaught Error: Call to a member function insert() on null in C:\xampp\htdocs\smac\catalog\controller\payment\payment.php:45

This is my tpl file

<script type="text/javascript">
    $('#submit').submit(function() {
    $.ajax({ // create an AJAX call...
        data: $(this).serialize(), 
        type: $(this).attr('method'),
        url: $(this).attr('action'), 
        success: function(response) { 
            $('#submit').html(response); 
        }
    });
    return false; 
});
</script>
    <form action="<?php echo $action; ?>" method="post">
    Your name: <input type="text" name="name" required><br>
    Your e-mail: <input type="text" name="email" required><br>
    <input type="submit" value="submit" name="submit">
    </form

Controller File:

public function index() 
    { 
    $this->load->model('payment/payment');
    $this->data['action'] = $this->url->link('payment/payment');

if (($this->request->server['REQUEST_METHOD'] == 'POST')) {

    $id= $this->model_payment_payment->insert($this->request->post);
        }

        $this->response->setOutput($this->load->view('payment/payment', $data));    
    }

This is my Model file

<?php  
class ModelPaymentPayment extends Model 
{  
    public function insert($data) 
    {

        $this->db->query("INSERT INTO " . DB_PREFIX . "naveen SET 
                name = '" . $this->db->escape($data['name']) . "', 
                email = '" . $this->db->escape($data['email']) . "'");

    $address_id = $this->db->getLastId();
        return $address_id;
    }
}

if i have any mistaken please mentioned it.

  • 写回答

1条回答 默认 最新

  • doumou5109 2017-07-25 18:07
    关注

    I think the problem is in your controller file. You should use either

    $this->data['action'] = $this->url->link('payment/payment');
    $this->response->setOutput($this->load->view('payment/payment', $this->data))
    

    OR

    $data['action'] = $this->url->link('payment/payment');
    $this->response->setOutput($this->load->view('payment/payment', $data))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来