eAcceleratorで$_POSTが書き換わる?

久々に更新。人気投票のアプリケーションを作り終わって、更に改良を加えている最中に遭遇。

input type=”text” からChromeだけでも対応していればいいやとinput type=”date”や”time”にしようとして、一箇所のテキストボックス入力から二箇所の入力に変更したという経緯。※input type=”time”の癖も書きたいけど別の機会に。

    // 日付と時間の合成
    $start_date = $_POST['start_date_date']." ".$_POST['start_date_time'];
    $end_date   = $_POST['end_date_date']." ".$_POST['end_date_time'];

これを行うと、$_POSTの中身が$end_dateになってしまうというもの。
他の$_POSTの中身も変更されてしまうので、エラー発生個所が全然違うところになり、最初は何が起こったのかさっぱりわからなかった。

この$end_dateへの代入部分をコメントアウトすることで、$_POSTが配列に戻った。

    // 日付と時間の合成
    $start_date      = $_POST['start_date_date']." ";
    $start_date     .= $_POST['start_date_time'];
    $end_date        = $_POST['end_date_date']." ";
    $end_date       .= $_POST['end_date_time'];

このように書き換え。まぁ・・・呼んでいるオブジェクトの中で$_POSTの合成とかやっぱりやってはいけないのかなと思いつつ、配列がらみのトラブルは以前もあったので、eAcceleratorを疑っているというところ。