将表单值提交给控制器

Cod*_*r25 9 codeigniter

这应该是非常简单的事情,但我无法得到它.

我正在学习codeigniter,我有一个包含以下代码的表单

<body>
  <form name ="userinput" action="form_reader.php" method="post">
      Name <input type="text" name="username"> <br/>
      <input type="submit" value="Submit">
  </form>
Run Code Online (Sandbox Code Playgroud)

form_reader.php在控制器文件夹中调用了一个控制器.我收到一个404 Not Found错误.我究竟做错了什么 ?

cab*_*ret 32

将值发送到控制器中的函数

  <form name ="userinput" action="form_reader/save_userinput" method="post">
Run Code Online (Sandbox Code Playgroud)

在你的控制器中,创建一个名为"save_userinput"的函数:

<?php
class Form_reader extends CI_Controller {

    public function save_userinput()
    {
      //code goes here
      // for example: getting the post values of the form:
      $form_data = $this->input->post();
      // or just the username:
      $username = $this->input->post("username");

      // then do whatever you want with it :)

    }
}
?>
Run Code Online (Sandbox Code Playgroud)

希望有所帮助.请务必查看CI文档,这非常好.还有其他问题,请问:)

编辑:想出来.请改用此开头表格标签:

<form name ="userinput" action="index.php/form_reader/save_userinput" method="post">
Run Code Online (Sandbox Code Playgroud)

我习惯在那里没有index.php,我使用.htaccess文件(就像这个)删除它,所以我忽略了这一点.它适用于action属性中的小编辑.

或者,您可以使用表单助手:

使用this->load->helper('form')然后使用它而不是HTML <form>标记将其加载到控制器中: <? echo form_open('form_reader/save'); ?>