【问题标题】:$_POST is null with framework codeigniter$_POST 对于框架 codeigniter 为空
【发布时间】:2015-04-08 17:35:39
【问题描述】:

我的 $_POST 返回 null 的小脚本有问题,但我不明白为什么,请帮帮我

我的错误信息:

Error Number: 1048
Column 'credit_id' cannot be null

INSERT INTO `trader_order` (`trader_id`, `credit_id`, `credit`, `amount`, `payment_status`, `added_date`) VALUES ('40', NULL, NULL, NULL, 'No', '2015-04-08 22:59:10')

Filename: /homepages/0/d433601931/htdocs/Wisementrade/new_version/models/trader_model.php

Line Number: 190

PHP 控制器:

public function trader_buy_commission(){
    $trader_id=$this->session->userdata('customer_id');
    $cred_id = $_POST["cred_id"];

    $price = $this->trader->getPrice($cred_id);
    $value = $this->trader->verify_credit_amount($_SESSION['credit_session'], $price->price);
    $payment_status="No";
    $_SESSION['credit_trader_amount'] = $price->price;
    $amount=$price->price;
    $credit=$price->credit;
    $orderid = $this->trader->insert_credit_order_detail($trader_id, $cred_id,$credit,$amount,$payment_status);
}

PHP 模型:

public function insert_credit_order_detail($trader_id, $cred_id,$credit,$amount,$payment_status){

    $date = date('Y-m-d H:i:s');
    $data = array(
        'trader_id' => $trader_id,
        'credit_id' => $cred_id,
        'credit' =>$credit,
        'amount' => $amount,
        'payment_status' => $payment_status,
        'added_date' => $date
    );
    $this->db->insert('trader_order', $data);
    return $this->db->insert_id();

}

HTML:

<td text align="center">
    <?php
    $credit = $this->trader->getcredit();
    ?>
    <select name="cred_id" id="cred_id" style="height:22px; width:170px;">
        <?php foreach ($credit as $manage) { ?>
        <option value="<?php echo $manage->credit_id; ?>"><?php echo $manage->title; ?></option>
        <?php } ?>
    </select>
</td>
<td align="right"  bgcolor="#FFFFFF" style="padding:10px ;"> <button type="submit" class="search">Pay with Paypal</button>
<td align="right"  bgcolor="#FFFFFF" style="padding:10px ;"> 
    <a class="sdetail_btn validate" href="<?php echo base_url();?>index.php/trader/trader_buy_commission">Pay with Commission</a>
</td>

【问题讨论】:

  • 表单的 HTML 代码是什么?
  • 我不明白你想说什么
  • 即您问题的 HTML 代码部分不完整。您应该向我们展示提交数据的 HTML 的标签 &lt;form&gt;
  • 尝试在控制器中检查if(!empty($cred_id)),如果它进入了它,你必须在你的模型中以相同的条件检查它
  • 您确定在提交之前选择了选择框中的任何选项吗?

标签: php mysql database codeigniter post


【解决方案1】:

对不起,我对 Codeigniter 还很陌生,而且还是一名学生,所以如果这个答案不是很好,请忽略它。

您的问题可能在于您将 $_POST['cred_id'] 设置为 $cred_id

$cred_id = $_POST["cred_id"];

然后再使用 $credit_id?

$this->trader->insert_credit_order_detail($trader_id, $credit_id,$credit,$amount,$payment_status);

【讨论】:

  • 因为我已经做了很多动作,但我已经编辑了我的帖子
  • 您也在使用 $credit_id $price = $this-&gt;trader-&gt;getPrice($credit_id); 尝试将其更改为 $cred_id 也
猜你喜欢
  • 2012-12-21
  • 1970-01-01
  • 2019-12-27
  • 1970-01-01
  • 1970-01-01
  • 2012-09-04
  • 1970-01-01
  • 1970-01-01
  • 2011-04-11
相关资源
最近更新 更多