2012-04-10 9 views
2

私は少し変更したPHP検索スクリプトを用意しています。しかし、どうしたらよいかわからない部分があり、スクリプトをユーザーが完了できる検索フォームにリンクしています。PHP:検索スクリプトにリンクする検索フォームを作成するには

スクリプトは以下のとおりで、キーワードファイルをテキストファイルから検索します。現在、「キーワード」はスクリプトに直接入力されています。しかし、それは私のサイトを訪れる人にとってはいいことではないので、私は検索フォームを作成したかったのです。しかし、私はPOSTやGETなどを使うべきかどうかは分かりません。そして、私はコードをフォームからリンクして、下のスクリプトにどのようにリンクするべきか分かりません。私はこれを見つけるのにかなりの時間を探しましたが、それをカバーするものは何も見当たりません。誰かがそれを助けることができれば、それは最も高く評価されるだろう

(Lekensteynから借り、元のコード - https://stackoverflow.com/a/3686246/1322744(感謝))

<?php 
$file = 'users.txt'; 
$searchfor = 'entersearchterm'; 

$contents = file_get_contents($file); 
$pattern = preg_quote($searchfor, '/'); 
$pattern = "/^.*$pattern.*\$/m"; 

if(preg_match_all($pattern, $contents, $matches)){ 
    echo "Found matches:<br />"; 
    echo implode("<br />", $matches[0]); 
} 
else{ 
    echo "No matches found"; 
fclose ($file); 
} 
?> 

答えて

3

コード(目安):

<html> 
     <head><title>Search Form</title></head> 
     <body> 
      <form action="search.php" method="GET"> 
        <input type="text" name="keyword" id="keyword width="50" value="" /> 
        <input type="submit" value="Search"/> 
      </form> 
     </body> 
</html> 

そして、このようなあなたのPHPスクリプトからキーワードを取得:

<?php 
// script.php 


$searchfor = $_GET['keyword']; 

$file = 'users.txt'; 

$contents = file_get_contents($file); 
$pattern = preg_quote($searchfor, '/'); 
$pattern = "/^.*$pattern.*\$/m"; 

if(preg_match_all($pattern, $contents, $matches)){ 
    echo "Found matches:<br />"; 
    echo implode("<br />", $matches[0]); 
} 
else{ 
    echo "No matches found"; 
fclose ($file); 
} 
?> 
+0

それは素晴らしいです、ありがとうございました。 –

+0

@Kグリーンあなたを大歓迎です! :-) –

+0

@KGreen回答が満足できるものであれば、コミュニティの同じ質問を読んでいる他の人がそれに恩恵を受けることができるように、「回答」としてマークしてください。 :-) –

関連する問題