【问题标题】:Codeigniter PHP submit postCodeigniter PHP 提交帖子
【发布时间】:2018-04-29 12:54:56
【问题描述】:

我有一个使用 codeigniter 的简单表单,并且有一个提交按钮:

<?php echo form_open('myController/add'); ?>
<input type="text" class="form-control" name="myInput" value='abc'>
<button type="submit" name="Submit">Save</button>
<?php echo form_close(); ?>

但当我运行此代码时它不包含提交:

function add(){
  print_r($_POST);
}

结果如下:

Array ( [myInput] => abc )

我认为结果应该是这样的:

Array ( [myInput] => abc [Submit] =>)

请帮忙..谢谢。

【问题讨论】:

  • 试试&lt;input type="submit" name="submit"/&gt;
  • 您是如何提交表单的?在文本字段中键入时点击“保存”按钮或点击Enter 键?
  • 是否有拦截表单提交的JavaScript?
  • @shyammakwana.me 这不是一个好建议
  • @Phil 我知道,但我看不到任何其他错误或拼写错误。所以试试吧。

标签: php html forms codeigniter


【解决方案1】:

根据 Mozilla 的 button 元素文档,您可以有一个 value 属性。见这里:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button

这意味着你可以这样做:

<button type="submit" name="Submit" value="something">Save</button>

然后你会:

$_POST['Submit'] = "something";

但在您的问题中,您似乎希望 Submit 键存在,即使没有价值,我认为这不会起作用。我确实相信您必须具有某种价值才能使密钥存在。

【讨论】:

  • “我认为这行不通” submit 类型的 named 按钮将发送其 value 属性的任何内容,即使未设置该属性,在这种情况下它将发送一个空字符串
  • 好吧,我不知道改变我的答案是否合适,你可能是对的(或者你不会说我错了)。我想我在考虑值为空的 jQuery ajax 帖子的行为。
【解决方案2】:

当您使用 codeigniter 框架启动项目时,您需要将数据插入数据库。我认为您需要使用此代码来获取数据'name' => $this->input->post('name')。

例如:

class Controller extends CI_Controller {
function __construct() {
        parent::__construct();
        $this->load->helper('url');
        $this->load->helper('form');
        $this->load->database();
        $this->load->model('Mymodel');
}
public function user_registration(){
$data = array('name' => $this->input->post('name'),'email' => $this->input->post('email'),'password' => $this->input->post('pwd'));
$this->Mymodel->UserRegistration($data);
}
}

【讨论】:

    【解决方案3】:

    试试这个

    使用

    <input type="submit" name="Submit" value="Save">
    

    而不是

    <button type="submit" name="Submit">Save</button>
    

    因为$_post获取输入值

    但你也可以使用它的name 来获取它的值

    喜欢

    $formSubmit = $this->input->post('Submit');
    echo $formSubmit;
    

    【讨论】:

    • 在你能解释为什么这可能会产生任何影响之前,这会被否决
    • 如您所见,命名提交&lt;button&gt; 工作正常~jsfiddle.net/2gdfuzd4
    • "&lt;button&gt; 不能作为输入"
    • 是的,请解释为什么这可能会有所不同@Bhargav??
    • 问谷歌,如果提问者有任何疑问,我会给出答案
    猜你喜欢
    • 2014-04-03
    • 2015-05-11
    • 2023-03-04
    • 2013-01-16
    • 2019-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多