2012-08-03 2 views
0

"키워드"를 입력하고 Enter 키를 누른 다음 다른 페이지 또는 웹 사이트로 연결되는 다른 웹 사이트에서 본 아이디어를 사용하고 싶습니다.특정 페이지로 이동하는 코드 입력

http://qldgov.remserv.com.au에서 나는 이것을 보았습니다. 오른쪽에는 "My Employer"라는 필드가 있는데, 예를 들어 "건강"을 입력하면 관련된 내용이 제공됩니다.

본질적으로 저는 각 클라이언트 브랜드에 "키워드"를 할당하고자하는 미니 사이트 브랜드를 사용하므로 모든 직원이 개별 로그인없이이 하나의 키워드를 입력하여 사이트로 이동할 수 있습니다. 어떤 방식 으로든 정의 할 수있는 URL에 연결할 수 있기를 원합니다.

위에서 언급 한 사이트의 소스 코드를 살펴본 결과 양식을 사용하고 있지만 키워드를 어떻게 할당했는지 또는 데이터베이스가 없어도이를 수행 할 수 있는지 여부는 확실하지 않습니다. 나는 PHP/Java 전문가가 아니기 때문에 가능한 한 간단하게 유지하려고 노력하고 있습니다.

아무런 도움이되지 않을지라도, 코드는 아니지만이 작업을 수행하기 위해 필요한 방향에 대한 아이디어입니다. 미리 감사드립니다 !! :-)

+1

데이터베이스에 키워드를 저장하거나 해당 브랜드에 링크 한 다음 PHP로 코드를 작성하는 것이 좋습니다. 특정 링크 w/reference로 리디렉션하는 것이 쉽습니다. – sephoy08

답변

1

가장 쉬운 방법은 모든 키워드와 각각의 urls 클라이언트 측 (JS에서)을 포함하는 배열을 정의하는 것입니다. 예를 들어 :

​var array = { 'health' : '/health.php', 'sport' : '/swimming.php' }; 

당신은 다음 onSubmit에 사용자 입력을받을 것이며, 그것은 적절 window.location을 수정할 수있는 경우.

if (array[user_input] !== undefined) { 
    window.location = array[user_input]; 
} 
else { 
    alert ('not found'); 
} 

사용자는 그들이 /swimming.php ( JSFiddle)로 리디렉션 될 것이다 sport을 공급하는 경우가, /health.php 리디렉션한다 health 공급하는 경우. 또는 서버 측 (PHP, JAVA)을 사용하여 요청을 처리 할 수는 있지만 그만한 가치는 없을 수도 있습니다.

Goodluck.

+0

안녕 Prowla,이 주셔서 감사합니다,이 시점에서 내가 필요한 것을 완벽하게 작동합니다. – sampotts

+0

묻는 것을 잊어 버렸습니다. 소스에있는 키워드를 표시 할 때 어떻게 코드를 숨길 수 있습니까? – sampotts

+0

코드가 JS 클라이언트 측이므로 사용자로부터 코드를 숨길 수 없습니다. 난독화할 수 있지만 키워드는 소스를 보는 모든 사용자에게 계속 표시됩니다. 소스에서 키보드가 큰 문제로 보입니까? – Kurt

0

php (자바 스크립트가 아닌)를 사용하면 자바 스크립트에 의존하지 않고 서체를 친근하게 만듭니다.

은 첫째로 당신은 데이터베이스의 일종 또는 키워드/URL 목록 중 하나를 필요로하기 위하여려고하고있다

$keywords = array('keyword1' => 'path/to/load.php', 'another keyword' => 'another/path'); 

그럼 당신은 loadkeyword.php에 그런 기본적인 형태

<form action="loadkeyword.php"> 
    <input name="query"> 
    <button type="submit">Go</button> 
</form> 

이 필요합니다

$keywords = array('keyword1' => 'path/to/load.php', 'another keyword' => 'another/path'); 
$query = $_GET['query']; 
if (isset($keywords[$query])) { 
    $url = $keywords[$query]; 
    header("HTTP/1.0 301 Moved Permanently"); 
    header('location: '.$url); 
    exit; 
} else { 
    header("HTTP/1.1 404 Not Found"); 
    die('unable to locate keyword'); 
} 

키워드 목록이 많으면 배열 대신 데이터베이스를 사용하여 트랙을 유지할 것을 제안합니다. 귀하의 키워드 중

0

귀하가 링크하는 사이트는 콘텐츠 또는 검색 기능과 일치하는 키워드 목록을 통해 서버 쪽에서 사이트를 만들고 있습니다 (후자라고 생각됩니다).

키워드를 콘텐츠와 일치시킨 다음 배열, 목록 또는 데이터베이스를 사용하여 리디렉션하는 것과 같은 목표를 달성 할 수있는 몇 가지 방법이 있습니다. 원리는 동일합니다.

그러나 저는 이것이 어쨌든 최선의 해결책이 아닐 수 있다고 제안합니다. 내 논리는 (예제를 기반으로) 각 사이트에 대해 많은 키워드가 있어도 어떤 키워드가 어떤 미니 사이트와 일치하는지 사용자가 추측하도록하는 것입니다. 선택할 수있는 메뉴가 있습니까 (즉, 미니 사이트 목록이있는 선택기).

+0

이것은 공개되지 않기 때문에 각 회사는 효과적으로 자신의 미니 사이트에 로그인하는 것에 "키워드"를 제공 받게됩니다. 그들은 아무 것도 추측 할 필요가 없습니다. 클라이언트가 누구인지 공개적으로 보여주고 싶지는 않지만 동시에 각 클라이언트에 대해 100 개의 로그인을 생성하고 싶지 않고 "키워드"할당을 만드는 것이 사용자 경험이가는 한 사이트에 접근하는 아주 쉬운 방법 일 것입니다. – sampotts

+0

wuckas가 없습니다. 그 때 행운을 빈다. – da5id

관련 문제