将表单值提交给控制器

时间:2011-05-30 18:30:32

标签: 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>

我的控制器文件夹中有一个名为form_reader.php的控制器。我收到404 Not Found错误。我做错了什么?

2 个答案:

答案 0 :(得分:31)

将您的值发送到控制器中的功能

  <form name ="userinput" action="form_reader/save_userinput" method="post">
在控制器中

创建一个名为“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 :)

    }
}
?>

希望有所帮助。请务必查看CI文档,真的好。还有其他问题,请问:)

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

<form name ="userinput" action="index.php/form_reader/save_userinput" method="post">

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

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

使用this->load->helper('form')将其加载到您的控制器中,然后使用此代替HTML <form>标记:<? echo form_open('form_reader/save'); ?>

答案 1 :(得分:2)

查看NETTUTS codeigniter教程。您将不得不稍微修改,因为他们使用1.7.2,但概念是相同的