PHPのPOSTでの半角スペースこんにちはゲストさん。>>解決済みの質問PHPのPOSTでの半角スペースPHP5.1.6を使用しています。nameに半角スペースが含まれると強制的にアンダースコアに変換されているように思われます。valueの方は半角スペースのまま表示されます。これはPHPの仕様なのでしょうか。Perlではこのようなことはないようです。この点について詳しい情報をお持ちの方はお教えいただきたく思います。globalsの設定によっては変数名としても使われるので変数名と同じと考えた方がよいでしょう。"."(ドット、ピリオド)に関してはマニュアルに"_"に変換されることが明記されていますがその他については記載がありません。空白や単独の"["も"_"に変換されるようです。14:51:38補足ドットについての記載を確認できました。ありがとうございます。自動的にアンダースコアに変換します。Notesに以下の記載を見つけました。(various)最後のchr(128)-chr(153)の意味が不明ですが、やはり、半角スペース、ドット、単独の"["がアンダースコアに変換されるとあります。私が実際にテストして試したところではこれら以外に「タブ」がアンダースコアに変換されました。因みに、以下の特殊文字は変換さずそのまま表示されることを確認しました。「;」「:」「/」「?」「,」「&」「%」「*」「<」「>」「]」「{」などPerlで同じテストをして確認したところでは、スペース、ドット、タブ、「[」も含めてどの文字もアンダースコアに変換されることはなく、そのまま表示されました。19:09:27お礼やっと求めていた答えにたどり着いたように思います。ありがとうございました。回答(3)ANo.2shimix>これはPHPの仕様なのでしょうか。変数名などのラベルの形式についてはマニュアルに記載があります。http://www.php.net/manual/ja/language.variables.php>キーの部分に変数を代入して利用したいためです。代入するとしても、空白(やピリオド)があったらマズイのですから、適宜チェックして(必要であれば変換して)代入するのがスジです。03:00:45お礼アドバイスありがとうございます。マニュアル詳しく調べてみます。>代入するとしても、空白(やピリオド)があったらマズイのですから、適宜チェックして(必要であれば変換して)代入するのがスジです。使用文字の制限と置換で対処しようと思います。(1)通報するANo.1inu2変数名や、連想配列のキー名に、スペースは許可されていません。ご回答いただきありがとうございます。>変数名や、連想配列のキー名に、スペースは許可されていません。連想配列のキーに許可されていない文字について詳しく書かれているサイトをご存知でしたら教えていただけませんでしょうか。先の例では半角のドット「.」も以下のようにアンダースコアに変換されます。value="p.o.s.t">→p_o_s_t=p.o.s.t>というか、配列名や連想配列のキー名にスペースがなぜ必要?キーの部分に変数を代入して利用したいためです。ご回答いただきありがとうございました。(1)通報する登録日----年--月--日ありがとうポイント-ptお礼率-%ベストアンサー率-%お気に入りユーザーブロックユーザーあなたにオススメの質問チェックボックスで選択したものがINSERTできません。chec...PHP+MySQLでのINSERTについての質問です。POSTデータを送信する方法を教えてください。action="regist.p...SESSIONを使用したユーザ登録を作成しています。SESSIONを使用したユーザ登録を作成しています。mysql+php+htmlで作ってるんですが、POST後のページで改行が反映されません。-----...PHPを勉強しながらメールフォームの作成をしています。PHPを勉強しながらメールフォームの作成をしています。