gologiusの巣

プログラミングなどの技術メモです。誰かの役に立てるとうれしいです。

POSTパラメータがなぜか固定文字列 "on" になってしまう

事象

POSTパラメータやGETパラメータに、セットした覚えのない固定文字列 "on" がセットされてしまう

f:id:gologius:20200715123207p:plain
理想

f:id:gologius:20200715123222p:plain
現実

原因

input type="radio"

かつ

input タグに全角スペースが混じっている

と発生する模様

再現コード

<?php
if (isset($_POST) ) {
    print("<pre>");
    var_dump($_POST);
    print("</pre>");    
}
?>

<form method="post" action="./test_post.php">

    <input type="text" name="group1" value="fugafuga">

        NG<input type="radio" name="group2" value="hogehoge1">
        NG<input type="radio" name="group2" value="hogehoge2">
        NG<input type="radio" name="group2" value="hogehoge3">
        OK<input type="radio" name="group2" value="hogehoge4">

    <button type="submit">検索</button>
</form>

hogehoge1,2,3 のタグには、全角スペースが混じっています。

hogehoge4 は半角スペースで正しく区切られています。

補足

<input type="text" name="group1" value="fugafuga1">

のように、type=text に全角スペースが入っていると、value値は空になる模様。

f:id:gologius:20200715124114p:plain
type=text の全角スペース混じり

なんでや工藤・・・