Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将一些表单数据传递给php控制器(OpenCart)_Php_Html - Fatal编程技术网

将一些表单数据传递给php控制器(OpenCart)

将一些表单数据传递给php控制器(OpenCart),php,html,Php,Html,我被以下代码困住了: <?php if ($orders) { ?> <?php foreach ($orders as $order) { ?> <tr> <td style="text-align: center;"><?php if ($order['selected']) { ?> <input type="checkbox" na

我被以下代码困住了:

        <?php if ($orders) { ?>
        <?php foreach ($orders as $order) { ?>
        <tr>
          <td style="text-align: center;"><?php if ($order['selected']) { ?>
            <input type="checkbox" name="selected[]" value="<?php echo $order['order_id']; ?>" checked="checked" class="trigger"/>
            <?php } else { ?>
            <input type="checkbox" name="selected[]" value="<?php echo $order['order_id']; ?>" class="trigger" />
            <?php } ?></td>
          <td class="right"><?php echo $order['order_id']; ?></td>
          <td class="left"><?php echo $order['customer']; ?></td>
          <td class="left"><?php echo $order['status']; ?></td>
          <td class="right"><?php echo $order['total']; ?></td>
          <td class="left"><?php echo $order['date_added']; ?></td>
          <td class="left"><?php echo $order['date_modified']; ?></td>
          <td class="right"><?php foreach ($order['action'] as $action) { ?>
            [ <a href="<?php echo $action['href']; ?>"><?php echo $action['text']; ?></a> ]
            <?php } ?></td>
        </tr>

        <tr class="eph-row" style="" >
          <td colspan="8" style="background-color: #EBF6FF; height: 50px;">
            <div style="">
              <label for="eph-dobierka" style="display: table-row;">Dobierka</label>
                <input type="text" name="eph-dobierka" id="eph-dobierka" value="" size="7" placeholder="Dobierka"/>
            </div>
          </td>
        </tr>

        <?php } ?>
        <?php } else { ?>

[  ]
多比尔卡

以下是控制器的代码:

    public function eph() {
        $this->load->model('sale/order');

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

        $orders = array();

        if (isset($this->request->post['selected'])) {
            $orders = $this->request->post['selected'];
        } elseif (isset($this->request->get['order_id'])) {
            $orders[] = $this->request->get['order_id'];
        }

$xml = "<?xml version='1.0'?>";
    $xml .= "<EPH>\n";
        $xml .= "<Zasielky>\n";

                foreach ($orders as $order_id) {
                $order_info = $this->model_sale_order->getOrder($order_id); 
                $xml .= "<Zasielka>\n";
                    $xml .= "<Adresat>\n";  
                        $xml .= "<Meno>".$order_info['shipping_firstname']." ".$order_info['shipping_lastname']."</Meno>\n";
                        $xml .= "<Organizacia>".$order_info['shipping_company']."</Organizacia>\n";
                        $xml .= "<Ulica>".$order_info['shipping_address_1']."</Ulica>\n"; 
                        $xml .= "<Mesto>".$order_info['shipping_city']."</Mesto>\n"; 
                        $xml .= "<PSC>".$order_info['shipping_postcode']."</PSC>\n"; 
                        $xml .= "<Telefon>".$order_info['telephone']."</Telefon>\n"; 
                        $xml .= "<Email>".$order_info['email']."</Email>\n"; 
                        $xml .= "<sum>".$this->request->post['eph-dobierka']."</sum>\n"; 
                    $xml .= "</Adresat>\n";   
                $xml .= "</Zasielka>\n";
                }

        $xml .= "</Zasielky>\n";            
    $xml .= "</EPH>\n";

        libxml_use_internal_errors(true);
        $xmls = simplexml_load_string($xml);

        if ($xmls === false) {
            echo "Failed loading XML\n";
            foreach(libxml_get_errors() as $error) {
                echo "\t", $error->message;
            }
        }

        Header('Content-type: text/xml');
        //Header('Content-disposition: attachment; filename="eph.xml"');
        print($xmls->asXML());




    }
公共功能eph(){
$this->load->model('sale/order');
$this->data['orders']=array();
$orders=array();
如果(设置($this->request->post['selected'])){
$orders=$this->request->post['selected'];
}elseif(isset($this->request->get['order\u id'])){
$orders[]=$this->request->get['order\u id'];
}
$xml=”“;
$xml.=“\n”;
$xml.=“\n”;
foreach($orders as$order\U id){
$order\u info=$this->model\u sale\u order->getOrder($order\u id);
$xml.=“\n”;
$xml.=“\n”;
$xml.=''.$order\u info['shipping\u firstname'.''.''.$order\u info['shipping\u lastname'.'.\n';
$xml.=''.$order\u info['shipping\u company']。“\n”;
$xml.=''.$order\u info['shipping\u address\u 1']。“\n”;
$xml.=''.$order\u info['shipping\u city']。“\n”;
$xml.=''.$order\u info['shipping\u postcode']。“\n”;
$xml.=''.$order\u info['telephone']。“\n”;
$xml.=''.$order\u info['email']。“\n”;
$xml.=''.$this->request->post['eph-dobierka']。“\n”;
$xml.=“\n”;
$xml.=“\n”;
}
$xml.=“\n”;
$xml.=“\n”;
libxml\u使用\u内部错误(true);
$xmls=simplexml\u load\u字符串($xml);
如果($xmls==false){
echo“加载XML失败\n”;
foreach(libxml_get_errors()作为$error){
回显“\t”,$error->message;
}
}
标题('Content-type:text/xml');
//标题('Content-disposition:attachment;filename=“eph.xml”');
打印($xmls->asXML());
}
如您所见,根据selected[]值,将从数据库中查询所选行


我已将
..
部分添加到原始代码中,我想将一些值传递给控制器,根据选择的行=>以下命令:
$xml.=''.$this->request->post['eph-dobierka']。“\n”这不起作用

此代码似乎为每个订单创建了一个带有
name=“eph dobierka”
的输入元素。这不是您想要的,因为
$\u POST
是一个数组(内部),只能有一个具有特定名称的索引。 我想你想把

<label for="eph-dobierka<?php echo $order['order_id']; ?>" style="display: table-row;">Dobierka</label>
<input type="text" name="eph-dobierka[<?php echo $order['order_id']; ?>]" id="eph-dobierka<?php echo $order['order_id']; ?>" value="" size="7" placeholder="Dobierka" />
request->post['eph-dobierka'][$order\u id]。“\n”;
而不是

$xml .= "<sum>" . $this->request->post['eph-dobierka'] . "</sum>\n";
$xml.=''$这->请求->发布['eph-dobierka']。“\n”;
在控制器中


这假设您将在UI中为每个订单手动输入“Dobierka”的值。

这正是我想要的,社区的力量!非常感谢你。
$xml .= "<sum>" . $this->request->post['eph-dobierka'][$order_id] . "</sum>\n";
$xml .= "<sum>" . $this->request->post['eph-dobierka'] . "</sum>\n";