フォームに名前やメールアドレスが自動的に書き込まれるようにしたぁ〜い!

自分のサイトを利用した事がある人に、メールマガジンを送っているんだけど、
今度、キャンペーン申込フォームへのURLを送る事になったんだ。

へぇ。キャンペーンってやっぱ気になるから見ちゃう見ちゃう。
でも、申し込もうかなぁと思って、フォーム画面に進むと、名前やらメールアドレス、住所に電話番号といろいろ書かないといけないから、結局面倒くさくなって「まぁ今度でいっか」ってなる。

で、次に見に行ったらキャンペーンが終了していて結局オトクなお買い物ができなかった。なんてオチもあるよね。

そうそう。
あれ、悔しいよね。

何か、フォームに楽に入力できる方法ってないかなぁ・・・。

それなら、こういうのはどうかなぁ?
URLの中に入っている引数を読み取らせるっていう方法だけど。

http://www.xxxxxxxxxx.com/register.php?name=お名前&mail=abcdefg@xxxxx.ne.jp

そして、register.phpには次のようなPHPをファイルの頭とフォーム部分に入れておくの。

// [ register.php ]<-ここはメモメモ
 if(isset($_GET['name'])) {
 $name = $_GET['name'];
 }
 if(isset($_GET['mail'])) {
 $mail = $_GET['mail'];
 }

さらに、フォームの部分には下記の内容を・・・。

こうしておくと、フォームに自動的に名前とメールアドレスが入るよ!

で、でも、それでURLに名前を漢字とひらがなで入れたら文字化けしちゃったよ> <

あ、ごめんごめん、それがあったね。
文字化けしちゃう原因はエンコードができていないからね。
メールを送信するプログラムがPHPに対応しているなら、
例えば次のようなコードを書いておくとうまくいくよ。

例)お名前:坂本龍馬、メールアドレス:ryoma@xxxxxxxx.comの場合
http://www.xxxxxxxxxx.com/register.php?name=
<?php echo urlencode('坂本龍馬');?>
&mail=<?php echo 'ryoma@xxxxxxxx.com';?>

わぁ、これで、坂本龍馬が「%E5%9D82・・・」ってなったね!

そう、Google ChromeやFirefoxだと、urlencodeを使わなくても自動的に認識してくれるのだけど、IE系はまだダメみたい・・・。

ふぅ・・・。IEさんか・・・。

<参考サイト>
サクッとエンコードをしてくれる、「エンコードマニアックスさん」

Yoshisakaさん「URL引数からのデータを渡す_PHP

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です