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[] 関連を使用します。配列ですが、CSRF フィールドが含まれる可能性があり、それを処理する必要があることに注意してください。

また、どのようにルーティングしているかはわかりませんが、この時点ですべての呼び出しに対して「作成」を過ぎてルーティングしない限り、フォーム アクションを「作成/作成コミュニティ」にするべきではありません。

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