2016-07-28 8 views
1
$_POST varyableはいつも私のCodeIgniterのコントローラ内の空で

グローバルPOST常に空

コントローラ/ Register.php

class Register extends CI_Controller 
{ 

    public function index() 
    { 

     $this->load->view('register.html'); 

    } 

    public function user() 
    { 
     var_dump($_POST); 

    } 

} 

ビュー/ register.html(ビュー)

<form method="post" role="form" action="register/user"> 
    <div class="form-group"> 
     <label for="email">Name:</label> 
     <input type="text" class="form-control" id="name"> 
    </div> 
    <div class="form-group"> 
     <label for="email">Email address:</label> 
     <input type="email" class="form-control" id="email"> 
    </div> 

    <div class="form-group"> 
     <label for="pwd">Password:</label> 
     <input type="password" class="form-control" id="pwd"> 
    </div> 

    <div class="checkbox"> 
     <label><input type="checkbox"> Remember me</label> 
    </div> 

    <button type="submit" class="btn btn-default">Submit</button> 
</form> 

こと私の.htaccessです、私はURLからindex.phpを削除するために使用しています。

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 

var_dump($_POST)常に出力array(0) { }が、$_GETが正常に動作します。 Apache、Codeigniter 3、PHP 7を使ってLinux(Arch)を使っています。

私の英語のために残念です。全てに感謝。

編集:

$this->input->post()があまりにも空です。例えば

のように欠けている

+2

私は、CIフレームワークが$ _POSTをインターセプトし、 '$ this-> input-> post()'に変換していると確信しています。 'var_dump($ this-> input-> post());'を試してください。 CI 3では、設定ファイルに '$ _GET'を許可するオプションがあります。 https://www.codeigniter.com/user_guide/libraries/input.html –

+1

私は同じ問題を以前に試みました。 – vaati

+6

すべてのフォーム要素の@vaati 'name'属性が問題であることがありません。 –

答えて

2

主な原因は、すべてのform-elementsからname属性である: - それはidnameの間にあなたが混乱しているようだ

<input type="text" class="form-control" id="name"> 

nameは、$_POSTで取得された属性です。

+0

また、form要素のaction = "register/user"属性もチェックしてください。/user /に登録するためにリダイレクトしようとすると、スラッシュを追加するとPOST変数が削除されます。 – Jim

+0

私は私の答えを変えました。私は別の質問に答えて、その一部をここに入力しました。 – Jim

関連する問題