最近、会社のプロジェクトに取り組んでいたときに、通常のフォームを送信したときに、送信された値が正常に取得できないという奇妙な問題を発見しました。最初はそれが私自身であると思いました。サービスに問題があり、データベースに正常に書き込むことができませんでした。その後、SQL ステートメントを検出した後、実際にはデータの取得時に問題が発生し、取得されたデータがすべて空であることが判明しました。デバッグ中に、バックエンドに送信されたすべての変数が予期された変数ではなくなり、PHP によって変換されたことが判明しました。
テスト コードは次のとおりです:
コードをコピーします コードは次のとおりです:
テスト フォームの送信 ;
echo '< />var_export($_POST);
}
コード例 1
実行後の結果は次のとおりです。
ご覧のとおり、すべての .他のシンボルをテストするために、これまでのところ、ドット (.) がアンダースコア (_) に変換されることだけがわかりました。 info を使用するのが当然だと思っていましたが、name にアクセスすると、実際には info_name に変換されているため、見つかりません。
http://www.bkjia.com/PHPjc/326395.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/326395.html
技術記事最近、会社のプロジェクトに取り組んでいるときに、通常のフォームを送信すると、送信された値が正常に取得できないという奇妙な問題を発見しました。