Php 更新表格订单opencart

Php 更新表格订单opencart,php,request,sql-update,opencart,Php,Request,Sql Update,Opencart,请告诉我可能是什么问题,在刷新查询时无法获取变量order\u id,如果未指定,则所有请求都会通过,但会更新表中的所有记录,并给出在何处查找或读取内容的建议。 谢谢大家! 控制器: public function edit(){ if (isset($this->request->get['order_id'])) { $order_id = $this->request->get['order_id']; }

请告诉我可能是什么问题,在刷新查询时无法获取变量order\u id,如果未指定,则所有请求都会通过,但会更新表中的所有记录,并给出在何处查找或读取内容的建议。 谢谢大家!

控制器:

public function edit(){

        if (isset($this->request->get['order_id'])) {
            $order_id = $this->request->get['order_id'];
        } else {
            $order_id = 0;
        }   

        if ($this->request->server['REQUEST_METHOD'] == 'POST') {
            $this->model_account_order->update($order_id, $this->request->post);
            $this->redirect($this->url->link('account/myorders', '', 'SSL'));
        }           
public function update($order_id,$data){
        $this->db->query("UPDATE " . DB_PREFIX . "order SET forma = '" . $this->db->escape($data['forma']) . "', linkto = '" . $this->db->escape($data['linkto']) . "', description = '" . $this->db->escape($data['description']) . "', cvet = '" . $this->db->escape($data['cvet']) . "', sizes = '" . (int)$data['sizes'] . "', counts = '" . (int)$data['counts'] . "', tcena = '" .(int)$data['tcena'] . "', sposob = '" . $this->db->escape($data['sposob']) . "' , delivery_usa = '" . $this->db->escape($data['delivery_usa']) . "', hint = '" . $this->db->escape($data['hint']) . "', novapochta ='" . $this->db->escape($data['novapochta']) . "' WHERE order_id = '" . (int)$order_id . "'");

    }

型号:

public function edit(){

        if (isset($this->request->get['order_id'])) {
            $order_id = $this->request->get['order_id'];
        } else {
            $order_id = 0;
        }   

        if ($this->request->server['REQUEST_METHOD'] == 'POST') {
            $this->model_account_order->update($order_id, $this->request->post);
            $this->redirect($this->url->link('account/myorders', '', 'SSL'));
        }           
public function update($order_id,$data){
        $this->db->query("UPDATE " . DB_PREFIX . "order SET forma = '" . $this->db->escape($data['forma']) . "', linkto = '" . $this->db->escape($data['linkto']) . "', description = '" . $this->db->escape($data['description']) . "', cvet = '" . $this->db->escape($data['cvet']) . "', sizes = '" . (int)$data['sizes'] . "', counts = '" . (int)$data['counts'] . "', tcena = '" .(int)$data['tcena'] . "', sposob = '" . $this->db->escape($data['sposob']) . "' , delivery_usa = '" . $this->db->escape($data['delivery_usa']) . "', hint = '" . $this->db->escape($data['hint']) . "', novapochta ='" . $this->db->escape($data['novapochta']) . "' WHERE order_id = '" . (int)$order_id . "'");

    }

非常简单但功能强大的解决方案-
$order\u id
在模型中检查:

public function update($order_id, $data) {
    if (!$order_id) {
        return false;
    }

    return $this->db->query("UPDATE " . DB_PREFIX . "order SET forma = '" . $this->db->escape($data['forma']) . "', linkto = '" . $this->db->escape($data['linkto']) . "', description = '" . $this->db->escape($data['description']) . "', cvet = '" . $this->db->escape($data['cvet']) . "', sizes = '" . (int)$data['sizes'] . "', counts = '" . (int)$data['counts'] . "', tcena = '" .(int)$data['tcena'] . "', sposob = '" . $this->db->escape($data['sposob']) . "' , delivery_usa = '" . $this->db->escape($data['delivery_usa']) . "', hint = '" . $this->db->escape($data['hint']) . "', novapochta ='" . $this->db->escape($data['novapochta']) . "' WHERE order_id = '" . (int)$order_id . "'");
}

谢谢你的回答!所有东西都写了,但问题仍然存在,我认为错误在于:如果($this->request->server['request\u METHOD']='POST'){$this->model\u account\u order->update($this->request->get['order\u id',$this->request->POST);$this->redirect($this->url->link('account/myorders','''SSL');}错误:注意:未定义的索引:中的order\u id。表单发布到的URL似乎不包含
order\u id
。您发布表单的URL是什么样子的?修复它,必须签署
&order\u id='.$order\u id'.
$this->data['action']=$this->URL->link('account/myorders/edite&order\u id='.$order\u id'.'.'SSL')