奇妙な問題に遭遇しました。最近、Windows 7 プラットフォームで Kohana 3.2.2 + jquery + html + WAMP を使用して中規模の Web サイトを開発しました。そして、誰かが Mac プラットフォームからページにアクセスしようとするまで、すべてがうまくいっているようです。マルチパート形式のファイルを含むデータを送信すると、グローバル変数 $_POST が設定されていないようですが、Web ブラウザでデータをデバッグすると、DATA IS SET が表示されます:| $_POST または request->post() を使用してコントローラーからアクセスできないだけです。繰り返しますが、ユーザーが Windows プラットフォームからページにアクセスしている場合 (いくつかの分離したクライアントでテスト済み) はすべて完全に機能しますが、Mac プラットフォームからアクセスしている場合 (いくつかの分離したクライアントでテスト済み) は機能しません。それは私を殺している...私
がやろうとしていることの例
:
ユーザーがデータを入力 (テキストとファイルの種類) に入れます。データは enctype = multipart/form-data のフォームによってコントローラのアクションに送信されています
コントローラ内:
$post = request->post();
if($post['sometextinput'] != '') は、不明なインデックス 'sometextinput' の例外をスローします。
2 に答える
上記の例を急いで入力したかどうかはわかりませんが、実際には次のようになります。
#$post = request->post(); //wouldn't recommend doing this
if($this->request->post('sometextinput') != '') throws exception of unknown index 'sometextinput'.
それは非常に奇妙です。私は毎日 Kohana を使用しており (Mac で開発しています)、そのような問題は一度もありません。コントローラーとビューを投稿できますか? ダミー プロジェクトにプラグインして、問題を再現できるかどうかを確認します。できることなら、それを機能させるためにできる限りのことをします。
編集:
奇妙な構成の問題である可能性はありますか?
私自身の説明のために。
入力フィールドと 1 つ以上のファイルのアップロードを含むフォームを送信しています。
Windows マシンで表示すると、データが $_POST または $request->post() に設定されていることがわかります。
OSX では、$_POST または $request->post(); を介してコントローラに表示することはできません。
before メソッドに「parent::before();」があることを確認してください。すでに parent::before() を呼び出している場合は、 before() メソッドの最初のステートメントとして配置してみてください。それでもうまくいかない場合は、最後のステートメントとして追加してみてください。暗闇でのショットですが、試してみる価値があります。
before() メソッドがない場合は、追加して parent::before(); を呼び出します。