PHPのURLエンコードの仕組み
新人がはまっていたので、まとめてみた。
form内は自動的にurlエンコードされるので、urlエンコード不要。下記のように「あああ」とそのまま書けばよい。
<form action="index.php" method="GET"> <input type="hidden" name="MT" value="あああ"/> </form>
a タグのhref属性では下記のようにurlエンコードが必要。
<a href="〜?MT=%82%a0%82%a0%82%a0">xxx</a>
どちらの場合も下記のようなurlが生成されて、サーバ側に送られる。
〜index.php?MT=%82%a0%82%a0%82%a0
サーバ側のPHPで、$_GET['MT']とすると、自動的にurldecodeされ、「あああ」という文字列が取得できる。