少々危険な匂いを漂わせるプログラムを書いたところ、
urlのgetパラメータにコード変換しないと利用できない文字列があった。
具体には以下の一覧を参照
文字 | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
コード | %20 | %21 | %22 | %23 | %24 | %25 | %26 | %27 | %28 | %29 | %2A | %2B | %2C | %2D | %2E | %2F |
文字 | : | ; | < | = | > | ? | @ | [ | \ | ] | ^ | _ | ` | { | | | } | ~ |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
コード | %3A | %3B | %3C | %3D | %3E | %3F | %40 | %5B | %5C | %5D | %5E | %5F | %60 | %7B | %7C | %7D | %7E |
今回は、メールアドレスをgetパラメータで遣り取りしたかったので、
@を%40に変換してあげる必要がある。
$mailadd= "hoge@hoge.com";
$mailadd = str_replace("@", "%40", $mailadd);
$msg .= "http://192.168.0.xxx/insert.php?password=$password&username=$username&mailadd=$mailadd"."\n";
こんな感じで
メールの本文の中にinsert.php で使う変数をgetパラメータで予め投げておきたいときに
役に立ちそう。
地味に%20の半角や%2fのスラッシュあたりが便利。