「メールを送信」などのボタンに使う
1-1. PHPで現在地の取得
1-2. クエリストリング付きのURLを埋め込む
以下のようにすればよい。
この対策としては、&をurlエンコードしてからmailtoに含めてやればよい。
例として、クエリストリングを含むURLをメールの本文に設定しておきたい場合は以下のようになる。
の件名や本文に、現在地のURLを載せる方法。
1-1. PHPで現在地の取得
1-2. クエリストリング付きのURLを埋め込む
1-1. PHPで現在地の取得
プロトコル、ホスト、クエリストリングを含めたURLを取得する。以下のようにすればよい。
$url = (empty ($_SERVER ['HTTPS']) ? 'http://' : 'https://') . $_SERVER ['HTTP_HOST'] . $_SERVER ['REQUEST_URI'];
1-2. クエリストリング付きのURLを埋め込む
こちらが本題。mailto:の条件設定では「&」を件名や本文等の区切り文字として使用しているため、クエリストリングを含むURLをメールに含めようとすると中途半端なところで区切られてしまう。この対策としては、&をurlエンコードしてからmailtoに含めてやればよい。
例として、クエリストリングを含むURLをメールの本文に設定しておきたい場合は以下のようになる。
$url = (empty ($_SERVER ['HTTPS']) ? 'http://' : 'https://') . $_SERVER ['HTTP_HOST'] . $_SERVER ['REQUEST_URI']; <a href="mailto:subject=subject&body=<?php echo urlencode($url);?>">メールを送る</a>
コメント