2017-06-19 6 views
-1

POSTのときにcodeigniterを使用したマルチパートフォームに問題があります。フォームには、テキストフィールドとファイルアップロードの8フィールドが含まれています。問題は、ファイルがエラーなしで正常にアップロードされますが、テキストのフィールドがコントローラで空であることです。コードインジケータPOSTデータが空です

POSTデータをprint_rしようとしましたが、空の配列を取得しようとしました。しかし、時にはGoogle Chromeを使用しているときに問題はありません。

+0

名前の属性フィールドを設定するのを忘れていたと思われます。質問とポストフォームとコントローラコードを編集します。 – Tpojka

答えて

0
<form name="form" action="some action page.php" method="post" enctype="multipart/form-data"> 

<input type="text" name="inputfieldvalue" value="Input Field"> 
<input type="file" name="uploadedfile" id="uploadedfile"> 
<input type="submit" value="Submit" > 
</form> 

//テキストフィールドの値

<?php echo $_POST['inputfieldvalue']; ?> 

//あなたは$ _POST [お名前のフィールド値]に与えられているものは何でも、name属性を渡すチェックするために、あなたのフォームは、上記のように、このようなものですと仮定します。このように

0

完全な例が有効であるはずです。

My_controllerコントローラのフォームのターゲットアクションはmy_formです。名前を入力してみないようWTF

<form name="form" action="my_controller/my_form" method="post" enctype="multipart/form-data"> 

<input type="text" name="WTF" value="Input Field"> 
<input type="submit" value="Submit" > 
</form> 

My_controller.phpファイル(CIコントローラフォルダ)でのごcotrollerアクションは、これは

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

class My_controller extends CI_Controller { 

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

    public function index(){ 

    /* do something for page my_controller if you want */ 

    } // end of index 

    function my_form() { // = my_controller/my_form 
    $here_is_it = $this->input->post('WTF'); // call value of input with name WTF 

    /* test it */ 
    print_r($here_is_it); 
    } 

エクストラ、必ずすべてのものを作るために、それは大丈夫ですルになります。 Codeigniterで自動ロード機能を有効にすることができます。 follow this tutorial

0

私はしばらくそれをチェックし、問題はphpまたは私のHTMLフォームコードにありません。しかし、問題は私のphp.iniの設定です。アップロードの最大ファイルサイズを大きくすると、問題が解決します。私はフォームがいつかうまく動作し、時には空の値を与えるため、前に混乱しました。

ありがとうございます。

関連する問題