2012-11-21 5 views
0

PHP 페이지에 "정의되지 않은 인덱스 유형"오류가 있습니다. 그러나 같은 URL이 문자열 (예 : mypage.php? type = abc 그런 다음이 오류는 표시되지 않습니다!문자열이없는 경우 다른 URL로 리디렉션 [JAVASCRIPT]

나는 = mypage.php하는 mypage.php에서 문자열 즉,? 형이없는 사용자를 리디렉션 할 ABC

내가 PHP를 해결하기 위해 더 나은 결정!

window.location.href = window.location.origin + window.location.pathname + '?type=abc'; 

더 좋은 PHP 코드를 수정 : PHP 코드는 2 줄의 오류 및 마지막 줄

+0

사용자를 리디렉션하지 않고 PHP로 기본 컨텐트를 출력하는 것이 더 좋지 않습니까? – Sirko

답변

0

확인 다음이

<script type="text/javascript"> 

function urlRD(){ 
if (location.href == "http://mypage.php") 
window.location = "http://mypage.php?type=abc" 
} 

</script> 

그리고 :

<body onLoad="urlRD()"> 
+0

그러나 매개 변수가 1보다 큰 경우? –

+0

좋다! Boron Gappov가 좋은 대답을했기 때문에 bodyonload 함수는 더 좋지 않고 Boris Gappov에 의해 말한 것처럼 당신의 대답을 받아 들일 수 있습니다! 그러나 정말로 당신의 일에 감사드립니다! 계속 올려! – user1809599

+0

예 Boris는 더 나은 대답을 가지고 있습니다. –

0

내가 제대로 이해하고있는 경우가있다

<? 
if (($_REQUEST["type"] == "mz") || ($_REQUEST["type"] == "ie") || ($_REQUEST["type"] == "iea")) { 
?> 
    <link rel="SHORTCUT ICON" href="icons/<?= $_REQUEST['id'] ?>_favicon.ico" type="image/x-icon"> 
<? 
} 
?> 

<? 
if ($_REQUEST["type"] == "mza") { 
?> 
    <link rel="icon" href="icons/<?= $_REQUEST['id'] ?>_extra_animated_favicon.gif" type="image/x-icon"> 
<? } ?> 

, 당신은이 작업을 수행 할 수 다음 고지에 대한 경고를받지 않도록하십시오!

+0

리디렉션되지만 페이지를 다시로드하는 중! – user1809599

+0

그러나 유형 매개 변수가 있는지 확인하려면 어떻게해야합니까? –

0

PHP 파일에서 문제를 수정하거나 .htaccess 항목을 추가하여 사용자를 직접 리디렉션하십시오.

내가 그렇게처럼 PHP 파일에 일부 코드를 추가하는 것이 좋습니다 :

if (!isset($_GET)) { //or you can use more specifically if (!isset($_GET['type'])) { 

//there is no get variables here so we either add a local variable or redirect (which is redundant) 

$type = "abc"; //or even $_GET['type'] = "abc"; 

//redirect header("location: mypage.php?type=abc"); 

}else{ 

//execute work 

} 

이 htaccess로를 변경하는 것은 어떤 사람이없는 특정 previledges이 필요합니다.

EDIT :이 작업을 수행하는 자바 스크립트 방법도 가능하지만 지연 시간이 이하인 것이 좋습니다. 당신의 UPDATE에 대한 응답으로

:

당신은 아마 $ _REQUEST를 확인하기 위해 필요

[ '아이디']를 사용하기 전에; ALSO

if (isset($_REQUEST['id'])) { 

//do your code 

} 
else { 

//no ID here 

} 

당신이 서버 (<?= ?>를) 짧은 태그를 지원하지 않는 될 수있다 (당신이 그것을 제가 위에서 제시 한 같은 방법으로 할 수 있음), 에코 대신 사용하려고 :

echo "<link blah blah blah=\"$_REQUEST[id]_icon.ico\" blah />"; 
+0

태그는 'javascript'입니다. –

+0

질문에 대답 할 때가 아니라고 생각합니다. 어쨌든 그렇다고해도 이것이 최고의 솔루션입니다! – JDuarteDJ

+0

질문 업데이트와 관련하여 매우 관련성이 높은 방식으로 답변을 업데이트하십시오. – JDuarteDJ