1

こんにちは、opencart バージョン 1.5.2.1 をダウンロードしました...今、opencart フローを使用して API を開発しています。tpl、コントローラー、言語ファイルを使用してフォームを開発しました。モデルも作成しました。データベースにロードする必要があるフォームデータを入力するときの正確な概念は何ですか...しかし、モデルで未定義のインデックスを示すエラーが表示されます。コントローラーでフォームデータを取得する方法とそのデータを渡す方法モデルに...助けてください。

これは私のコントローラファイルです:

           <?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']."')");


}
   }
4

1 に答える 1

0

$data['customer']の型変数をpublic function insert調べてみてくださいvar_dump($data)。配列から変数が欠落しており、SQLを生成するときに変数が欠落している可能性があります。

于 2012-05-01T04:43:30.310 に答える