簡體   English   中英

使用MVC將php表單數據插入mysql數據庫時出錯

[英]getting an error while inserting php form data into mysql database using MVC

嗨,我下載了opencart版本1.5.2.1 ...現在我正在使用opencart flow開發API。我使用tpl,controller,language文件開發了表單。 我也寫了模型。確切的概念是當我輸入應加載到數據庫中的表單數據時...但是它顯示了一個錯誤,指出模型中的未定義索引。如何在控制器中獲取表單數據以及如何傳遞該數據模特...請幫助我。

這是我的控制器文件:

           <?php
  class ControllerSaleAd extends Controller {
private $error = array();

 public function index() {

    $this->load->language('sale/ad');


    $this->document->setTitle($this->language->get('heading_title'));

    $this->load->model('sale/ad');
$this->data['heading_title']=$this->language->get('heading_title');
$this->data['entry_customer_name'] = $this->language->get('entry_customer_name');
$this->data['column_name']=$this->language->get('column_name');
$this->data['column_place'] = $this->language->get('column_place');
$this->data['column_date'] = $this->language->get('column_date');

$this->data['column_units'] = $this->language->get('column_units');
$this->data['column_price'] = $this->language->get('column_price');
$this->data['button_insert'] = $this->language->get('button_insert');


$this->data['breadcrumbs'] = array();

$this->data['breadcrumbs'][] = array(
            'text'      => $this->language->get('text_home'),
            'href'      => $this->url->link('sale/ad', 'token=' . $this->session->data['token'], 'SSL'),
            'separator' => false
);

$url='';
$this->data['action'] = $this->url->link('sale/ad', 'token=' . $this->session->data['token'] . $url, 'SSL');

$this->template='sale/ad.tpl';
$this->children = array(
            'common/header',
            'common/footer'
);

$this->response->setOutput($this->render());

$this->insert();
/*$this->load->model('sale/ad');

$this->data['orders']= array();
$data=array(
'customer'  => $customer,
'adtype'    => $adtype,
'adplace'   => $adplace,
'date'      => $date,
'units'     => $units,
'price'     => $price,
);

$results = $this->model_sale_ad->insert($data);

$this->redirect($this->url->link('sale/ad', 'token=' . $this->session->data['token'] . $url, 'SSL'));*/
}

public function insert() {
    echo("inserting data");

    $this->load->model('sale/ad');

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

        echo("hello");
        echo($this->request->post);
        echo($this->model_sale_ad->insert);
        $this->model_sale_ad->insert($this->request->post);


        echo("in if method");


        /*$url = '';

        if (isset($this->request->get['customer'])) {
            $url .= '&customer=' . $this->request->get['customer'];
        }

        if (isset($this->request->get['adtype'])) {
            $url .= '&adtype=' . $this->request->get['adtype'];
        }

        if (isset($this->request->get['adplace'])) {
            $url .= '&adplace=' . $this->request->get['adplace'];
        }

        if (isset($this->request->get['date'])) {
            $url .= '&date=' . $this->request->get['date'];
        }

        if (isset($this->request->get['units'])) {
            $url .= '&units=' . $this->request->get['units'];
        }

        if (isset($this->request->get['price'])) {
            $url .= '&price=' . $this->request->get['price'];
        }


            $customer= $this->request->get[$entry_customer_name];
            echo($customer);
        $data=array(
        'customer'  => $customer,
        'adtype'    => $adtype,
        'adplace'   => $adplace,
        'date'      => $date,
        'units'     => $units,
        'price'     => $price,

        );

        $results = $this->model_sale_ad->insert($data);*/

        $this->redirect($this->url->link('sale/ad', 'token=' . $this->session->data['token'] . $url, 'SSL'));
    }


}



}

  ?>

這是我的模型:

        <?php

   class ModelSaleAd extends Model{

public function insert($data)
{
    $this->db->query("INSERT INTO " . DB_PREFIX . "ad SET customer = '"
    .$this->db->escape($data['customer']) . "',adtype = '" .$this->db->escape($data['adtype']) . "',adplace = '" . $this->db->escape($data['adplace']) ."',date = NOW()'" . "',units = '".(int)$data['units'] ."',price = '".(int)$data['price']."')");


}
   }

嘗試查看public function insert中的$data['customer']類型變量,例如var_dump($data) 可能很簡單,就是您從數組中丟失了一個變量,而在生成sql時就丟失了它。

暫無
暫無

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

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