2012-04-10 2 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 답변이 만족 스럽다면 지역 사회에서 같은 질문을하는 다른 사람들이 도움을받을 수 있도록 "답변"으로 표시하십시오. :-) –

관련 문제