ユーザーが入力したキーワードで検索結果リンクを作ります。
さてここからが本題です。この仕組みをどうやって使うか考えてみましょう。せっかく自動でリンクを作れるのだから、ユーザーが勝手に入力したキーワードでリンクを生成するのも面白いかもしれません。
僕が使っているサーバーとドメイン管理のレジストラーです。
§フォームからキーワードを入力
ユーザーが入力したキーワードで検索結果リンクを作ります。
使い方はアイデア次第。
さてここからが本題です。
この仕組みをどうやって使うか考えてみましょう。
せっかく自動でリンクを作れるのだから、ユーザーが勝手に入力したキーワードでリンクを生成するのも面白いかもしれません。
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<body>
<form action="<?=$_SERVER["PHP_SELF"]?>" method="GET"> //解説(1)
<input type="text" name="key"></input>
<input type="submit" name="submit" value="検索">
</form>
<?php
if($_GET["submit"]){
$KeyWord=$_GET["key"]; //解説(2)
$KeyWord=htmlspecialchars($KeyWord);//解説(3)
$KeyWord=mb_convert_encoding($KeyWord‚ "EUC-JP"‚ "auto");
$EncodeKeyWord=urlencode($KeyWord);
$URL="http://search.yahoo.co.jp/search?fr=slv1-wave&p={$EncodeKeyWord}";
print"<a href='{$URL}' target='_blank'>{$KeyWord}</a>";
}
?>
</body>
</html>
解説(1)
ローテーションバナーの管理画面と同じように $_SERVER["PHP_SELF"] を使い、同じファイル内で処理します。
今回の method は「GET」です。
後々この検索結果を使うときGETを使った方がリンクを張るのに便利という理由です。
解説(2)
$KeyWord にフォームから受け取ったキーワードを収めて処理します。
解説(3)
htmlspecialchars はHTMLで使う特殊文字をエスケープします。
フォームにHTMLタグを入力されたときの誤作動や悪質なイタズラを防ぎます。
セキュリティーのために忘れずに入れましょう。
これ単体ではあまり使い道がありませんが、サイト内検索と組み合わせると面白いと思います。
例えば「お探しの情報が見つからないときはこちらへ」というナビゲーションをつければユーザーの使い勝手が向上しますね。