$_POST は、smarty テンプレートによって自動生成された 2 次元配列を受け取ることができません

WBOY
リリース: 2016-06-23 14:03:05
オリジナル
966 人が閲覧しました

同じページに同じデータが複数あり、グループに分割されています。

さて、問題が発生しました。
入力用にsmartによって自動生成された名前シーケンスを取得できません。
このうち、インデックス 0 と 1 は変数を介して Smarty によって生成されます。
;input type="text" name=my[1][myname] value=""> $_POST ではこれらの値を取得できません。なぜですか?
var_dump($_POST[my]);

array (size=2)
0 => 文字列 'Array'
1 => 文字列 Array'
助けてください。





ディスカッションへの返信 (解決策)

バグ?

print_r($_POST['my']); で何が見えるでしょうか?

バグ?

print_r($_POST['my']); で何が見えるでしょうか?

何もない

バグ?

print_r($_POST['my']); で何が見えるでしょうか?

新しいページを使用しましたが、PHP マニュアルに従って問題ありませんでした
しかし、公式に開発されたプログラムでは取得できませんでした。

退屈ですよね?

var_dump($_POST[my]);
配列 (size=2) を表示します
0 => string 'Array'
1 => string Array'

print_r($_POST['my ']);

どうして何もないのですか?

タグは閉じていますか?



退屈ですよね?
var_dump($_POST[my]);
配列 (size=2) を表示します
0 => string 'Array'
1 => string Array'

print_r($_POST['my ']);

どうして何もないのですか?

print_r($_POST['my'])
出力も

Array ( [0] => Array [1] => Array )


ラベルを閉じましたか?

=>

もちろんです閉まっています、ふふ。

名前は文字列でなければならないからですか?

名前は文字列でなければならないからですか?
そうではありません。

この問題についてはどうすればよいですか?段階的に説明すると、1 次元配列には問題ありませんが、2 次元配列には問題があります。

ブラウザで「Web ページのソース コードを表示」すると何が表示されますか?

ソース コードは Smarty によって自動的に生成されます。

      <tr>        <td class="lable" colspan="6"><p align="center">职位信息</p></td>      </tr>            <tr>        <td class="lable">职位名称</td>                <td colspan="5"><input type="text" name="job[0][jobname]" value="营销经理" />营销经理</td>      </tr>     <!-- <tr>        <td class="lable">行业类别</td>        <td> 44
ログイン後にコピー


ここでは正常に見えます。

           <tr>        <td class="lable">职位名称</td>                <td colspan="5"><input type="text" name="job[1][jobname]" value="销售总监" />销售总监</td>      </tr>
ログイン後にコピー

そして、この段落


はここで生成されました。

それで、フォームを受け取ったときに他に何をしましたか?

Smarty はフォームデータの受信と処理を行ってくれないようです

受信時に

$jobname = $_POST["job"];var_dump($jobname);
ログイン後にコピー
を使用します
出力結果は
array (size=2)
0 => string 'Array' (length=5)

1 => string 'Array' (length=5)

print_r を使用します
出力は
Array ( [0] => Array [1] => Array ) です

次に、フォームのターゲットをアクションに変更しますこのように =test.php
test.php 以上です

print_r($_POST);

結果を見てください

問題が見つかりました、それはシステム フレームワークのフィルタリングの問題でした。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート