【问题标题】:$this->input->post() not working as expected$this->input->post() 没有按预期工作
【发布时间】:2017-01-21 16:27:05
【问题描述】:

这是我的 HTML

<input type="text" class="form-control" name="email" placeholder="<?php echo lang('email'); ?>" value="<?php echo $this->input->post('email') ? set_value('email') : $profile['email']; ?>"> 

当我提交表单时,控制器会处理数据,例如

$user = array(
            'email' => trim($this->input->post('email', TRUE)),
            'username' => trim($this->input->post('username', TRUE)),
            'password' => md5($this->input->post('password', TRUE)),
            'email' => trim($this->input->post('mobile', TRUE))
   );

现在var_dump(trim($this-&gt;input-&gt;post('email', TRUE)));return; 这个输出为(var_dump() 结果)

string 'rejoan.er@gmail.com' (length=19)

但数组不适用于具有相同数据的相同格式。当var_dump($user) 然后email 没有接收到字段数据。如下图所示

array (size=3)
  'email' => string '' (length=0)
  'username' => string 'rejoan' (length=6)
  'password' => string 'd41d8cd98f00b204e9800998ecf8427e' (length=32)

我在这里做错了什么???

【问题讨论】:

  • 检查您的表单是否有错别字或转储 $_POST
  • @peter 是的,请仔细检查。没关系,因为单个 var_dump(trim($this-&gt;input-&gt;post('email', TRUE)));return; 工作正常
  • 您的 $user 数组中有来自 2 个输入的 2 个 email。你有没有删除最新的?你能var_dump($this-&gt;input) 吗?
  • 不同的眼睛帮助@RejoanulAlam。 :)

标签: php arrays codeigniter activerecord


【解决方案1】:

小错误

$user = array(
    'email' => trim($this->input->post('email', TRUE)),
    'username' => trim($this->input->post('username', TRUE)),
    'password' => md5($this->input->post('password', TRUE)),
    'email' => trim($this->input->post('mobile', TRUE)) <==== Error is in here
);

将第二个'email' 更改为'mobile'

【讨论】:

    猜你喜欢
    • 2017-04-04
    • 2019-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-26
    • 1970-01-01
    • 2017-06-05
    相关资源
    最近更新 更多