2014-11-06 1 views
0

이 php 메소드가 항상 사용자를 granted.htm으로 보내는 이유를 누구나 쉽게 설명 할 수 있습니다. 웹 사이트 사용자가 올바른 단어 (이 경우 : 그림자)를 입력하면 PHP는 사용자를 granted.htm으로 보냅니다. 웹 사이트 텍스트 필드에 다른 것이 입력되면 php가이를 denied.htm으로 보냅니다. 두 페이지 모두 웹 공간에 업로드되었습니다. 감사.올바른 페이지로 웹 사용자를 보내십시오.

<?php 
$check = "Shadow"; 
if($check === "Shadow"){ 
    echo 'Perfect Match!'; 
    header('Location: granted.htm'); 
} 
else { 
    echo 'Wrong Password!'; 
    header('Location: denied.htm'); 
} 
exit(); 
?> 
+1

'$ 체크 = "그림자"example.com/thisfile.php?check=Shadow,'제거 @RamSharma가 말한대로 –

+0

; '$ check = "Shadow"; if ($ check === "Shadow") ...'항상 true를 반환합니다 – Stu

+0

어떻게 텍스트 필드에서이 PHP 파일로 값을 보냅니 까? '$ check = $ _POST [ "Shadow"];와 같은 것을 볼 수 있습니다. 이 코드는 의미가 없습니다. – Steve

답변

1

아마도 패스워드를 제출 한 부분이 누락 되었습니까?

<?php 
$check = $_GET['check']; 
if($check === "Shadow"){ 
    echo 'Perfect Match!'; 
    header('Location: granted.htm'); 
} 
else { 
    echo 'Wrong Password!'; 
    header('Location: denied.htm'); 
} 
exit(); 
?> 

지금 당신은 단순히 같은 페이지에 액세스 :

사용자가 설정 한 beacuse
1

는 IF 조건

전에

$check = "Shadow"; 

을 제거 이것은 $ 확인 세트 "그림자"와 조건은 항상 이미 설정

+0

방금 ​​만든이 첫 번째 $ check 문을 제거하면 올바른 비밀번호로 승인 된 페이지에 액세스 할 수 없습니다. 이제는 나를 denied.htm 만 보냅니다. – user4163554

+0

사용자의 암호가 맞을 때만 $ check = "shadow"를 설정하십시오. 암호가 올바른지 여부를 확인하는 곳이면 $ check = "shadow"를 설정하십시오. – Deepak

+0

예를 들어 php가 상대적으로 나에게 새롭기 때문에 "사용자가 전달할 때만 $ 체크를 설정해야합니다."라고 말하면서 tje 문자열이 올바른지 확인합니다. 그래서 사용자 문자열이 일치하는지 여부를 확인합니다 내가 정한 끈? – user4163554

0

TRUE가되면 $ 체크 = "그림자 "; .So, if ($ check === "Shadow")은 항상 true를 반환하며 항상 사용자를 granted.htm으로 보냅니다.

제거는 :

$check = "Shadow"; 
0

는 내 서버에이 코드를 업로드하고 그것을 스핀을 주었다. 당신은 당신이 여기서하고있는 것은 $check는 "그림자"같을 때 granted.htm 것입니다 "그림자"

다른 뭔가 $check을 변경할 때 그것은 잘 작동합니다. 그래서 내가 변경했을 때 $check은 denied.htm으로 리디렉션 된 값입니다.

스크립트에 아무런 문제가 없으며 정확히 수행해야 할 작업을 수행합니다.

시도해보십시오. $check으로 변경하면 마법이 일어납니다. :)

관련 문제