0

我敢肯定这是一个简单的忽略,但它在短时间内让我很头疼。

我试图从这个视图发布数据:

<?php
if (!$this->tank_auth->is_logged_in()) 
    {
        echo "<a href='index.php/auth/login'>Login</a>";
    } else { ?>
<form method="POST" action="create_community">
    <label>Community Name: </label><input type="text" name="communityname" value="231"/><br>
    <label>Description: </label><br><textarea name="communitydesc"></textarea><br>
    <label>Image Location(URL): </label><input type="text" name="imageloc"/><br>
    <input type="radio" name="privacy" value="public" /> public<br />
    <input type="radio" name="privacy" value="private" /> private<br />
    <input type="radio" name="privacy" value="business" /> business<br />
    <input type='submit'/>
</form>        
<?php    }
?>

创建控制器如下:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Create extends CI_Controller {

    function __construct()
    {
        parent::__construct();

        $this->load->library('tank_auth');
        $this->load->library('encrypt');
        $this->load->library('session');

        $this->load->model('topbar_model');
        $this->load->model('left_model');
        $this->load->model('right_model');
        /*
        $this->load->model('right_model');
        $this->load->model('left_model');
        $this->load->model('topic_model');
        */
        $this->load->helper('url');
        $this->load->helper('form_helper');
        $this->load->helper('form');

        $this->load->helper(array('form', 'url'));
    $this->load->library('form_validation');
        $this->load->library('security');
        $this->load->library('tank_auth');
        $this->lang->load('tank_auth');
    }

    public function index()
    {
            $this->load->view('create_community');
    }

    public function create_community()
        {
            $this->load->view('templates/head');
            echo "testing"; 
            print_r($this->input->post());
        }

}

create_community 显示“测试”但不显示帖子。我也尝试过发布个人输入内容,但一无所获。

有任何想法吗?

4

2 回答 2

1

相信 $this->input->get_post() 是一个方法调用,而不是一个类变量,所以你不能像 $_POST[] 那样处理。

如果您想使用 POST 进行传统的表单处理,请使用标准的 $_POST[] assoc。数组,但请注意可能会包含一个 CSRF 字段,并且您需要处理。

另外,我不知道您是如何路由的,但您的表单操作不应该是“create/create_community”,除非您此时为所有呼叫路由“创建”。

于 2012-08-31T14:38:09.127 回答
0
public function create_community()
{
        var_dump($this->input->post());
}
于 2012-08-31T14:16:43.427 回答