【问题标题】:Submitting form values to controller向控制器提交表单值
【发布时间】:2011-05-30 18:30:31
【问题描述】:

这应该很简单,但我就是不明白。

我正在学习 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 错误。我做错了什么?

【问题讨论】:

    标签: codeigniter


    【解决方案1】:

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

      <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-&gt;load-&gt;helper('form') 将其加载到您的控制器中,然后使用它而不是 HTML &lt;form&gt; 标签:&lt;? echo form_open('form_reader/save'); ?&gt;

    【讨论】:

    • 不幸的是,我仍然遇到同样的错误。有什么我应该改变的设置吗?
    • 你能用你的控制器更新你的问题,也许是完整的视图?
    • 我完全复制了你的代码。除了 html、head、body 标签之外,该视图没有其他任何内容。我基本上是在尝试从表单中获取输入并显示“Hi $username”。
    • 谢谢,现在可以使用了。你知道为什么要加index.php吗?
    • CodeIgniter 基本上使用index.php 来处理所有请求,据我所知。查看我提供的链接和第一个答案中的 .htaccess,它会为您删除它,这样您就可以拥有漂亮的 URL。 :)
    【解决方案2】:

    查看 NETTUTS codeigniter 教程。由于他们使用的是 1.7.2,因此您必须稍作修改,但概念是相同的

    【讨论】:

    • 在此处提供链接会很有帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多