postした値が取得できないとき
フォームデータをポストしてPHP側で取得するということが突然できなくなりました。テスト環境から本番環境に移したときのことです。テスト環境では問題なく動いていたのに。
両環境ともPHPのバージョンは同じです。エラーもでておらず、ただただフォームから飛ばした$_postの値が取得できない。
かなりはまって色々試したのですが、結論から言うと、フォームのactionに絶対パスを設定したのが原因でした!
<form method="post" action="<?php echo esc_url(home_url()); ?>" >
上記のように書いていたのを、下記のようにactionに相対パスを設定することで$_POSTの値が取得できるようになりました。
<form method="post" action="/">
絶対パスだと$_POSTの値が取れないというのは聞いたことがないですし、実際テスト環境では動いていたので原因はわかりません。
ただ本番環境のセキュリティがかなり高かったので、何かしらpostデータを弾くような設定がしてあったのかもしれません。
同じ現象にあった人は試してみてください。
この記事が気に入ったらサポートをしてみませんか?