2013-09-16 2 views
0

여러 필드가 포함 된 단일 테이블을 포함하는 PHP 데이터베이스가 있습니다. 이러한 필드 중 하나는 1 또는 0 중 하나 인 '해안'이라고합니다.이 결과에 따라 웹 페이지를 리디렉션 할 방법을 찾고 있습니다 (결과를 다른 방식으로 표시하기 위해).매개 변수를 사용하여 대체 페이지로 리디렉션

지금까지 필자는 필드 해안을 매개 변수로 설정 했으므로 각 페이지에는 주소 (page.php? shore = 1 등)가 있습니다. 이제 IF 해안이 대안으로 페이지를 리디렉션하도록이 매개 변수를 활용하려고합니다. 나는 PHP 헤더 명령으로 노력하지만 많은 성공을 거두지 않고있다.

다음 코드는 내 코드의 TOP입니다. 오류가 있습니까?

많은 감사

<?php require_once('Connections/data.php'); 
session_start(); 

if ($_GET['shore'] == "1") { 
    header('Location: www.bbc.co.uk' .urlencode($_GET['ship_id']) . "?shore=1"); 
}; 

?> 
+0

나는 단지 예로서 영국 BBC 주소를 사용하고 있습니다,하지만 난 당신이 종료() 명령에 의해 무엇을 의미합니까 .... 것을 가지고. 나는 전에 머리글을 사용하지 않았다. – user2406993

+0

exit(); 함수를 호출하여 웹 서버가 브라우저에 더 이상 정보를 보내지 못하도록합니다. 위치 헤더가 브라우저에 의해 처리되기 전에 데이터가 전송되어 브라우저가 리디렉션을 따르지 않게되는 경우가 있습니다. – user2658774

+0

문제는 exit()를 계속 눌러서 페이지가 여전히 리디렉션되지 않지만 해안 == 0 일 때 페이지가 완전히로드되지 않는다는 것입니다. 헤더 코드를 잘못된 위치에 고정 시켰습니까? – user2406993

답변

0
<?php 
require_once('Connections/data.php'); 
session_start(); 

// check if variable is set first 
if (isset($_GET['shore']) && $_GET['shore'] == "1") { 
    // need http:// in the URL plus a trailing slash after the hostname 
    header('Location: http://www.bbc.co.uk/' .urlencode($_GET['ship_id']) . "?shore=1"); 
    // exit afterwards to prevent anything else from executing. 
    exit(); 
}; 
+0

Sammitch, 슬프게도 아직 방향을 바꾸지 않고 있습니다. 그것은 페이지의 첫 번째 것입니다, 당신은 내가 분실 한 분명한 분이라 생각할 수 있습니까? scratcheshead – user2406993

관련 문제