2016-12-07 1 views
0

오류 메시지를 표시 할 수있는 로그인 절차를 시도합니다. HTML에서 내 로그인 양식은 다음과 같습니다로그인 (HTML 및 PHP)의 오류 메시지

<form id="login" action="data/login.php" method="post"> 
    <H2>Rgister</H2> 
    Your login and password: 
    <br><br> 
    <div id="login-name" style="margin-top:20px;">Login:</div><div id="login-fld" style="margin-top:20px;"><input name="username" class="form-login" title="Username" value="" size="30" maxlength="2048" /></div> 
    <div id="login-name">Pass:</div><div id="login-fld"><input name="password" type="password" class="form-login" title="Password" value="" size="30" maxlength="2048" /></div> 
    <br><br><br> 
    <input type="image" src="obr/login-klw.png" alt="Submit" width="103" height="42" style="margin-left:90px;"> 
    <br><br> 

    <?php if ($_GET["log_err"]) { if ($_GET["rsn"] == "pass") { ?> 
    <html><body><h3>Error no 1</h3></body></html> 
    <?php } else { ?> 
    <html><body><h3>Error no 2</h3></body></html> 
    <?php } exit; } ?> 
</form> 

및 PHP는 그 코드는 옵션 :

... [ question to the database and return in $result object ] ... 

     if ($result->num_rows == 0) { 
      setcookie('logged_in', false, time() + 600, '/'); 
      die(header("location:../index.html?log_err=true&powod=pass")); 
     } 
     else { 
      setcookie('logged_in', $_POST['username'], time() + 600, '/'); 
      header("Location: /AAA/app.html"); 
     } 
    } 
    else { 
     setcookie('logged_in', false, time() + 600, '/'); 
     die(header("location:../index.html?log_err=true&powod=empty")); 
} 

모두 메시지가 나는로드 매번 볼 ("아무 2 오류 없습니다" "어떤 한 오류 없다"등) 이 페이지 왜이 코드 부분을 어떻게 디버깅해야하는지 모르겠습니다. 아무도 나를 도울 수 없습니까?

문제는이 양식은 다음과 같습니다이다 : 는 enter image description here

나는 오류 마사지 모든 시간을 참조하십시오.

+0

전체 코드 – Blueblazer172

+0

을 붙여 넣으십시오. 왜 $ _GET을 사용하셨습니까? –

+1

'

'안에' .....'을 넣었습니다. – Banzay

답변

0

해결 :

<?php if ($_GET["log_err"]) { if ($_GET["rsn"] == "pass") { ?> 

가 있어야한다 : 응용 프로그램에

<?php if (isset($_GET['log_err'])) if ($_GET["log_err"]) { if ($_GET["rsn"] == "pass") { ?> 

가 있었다 시작 첫번째 파일 이름이 두 번째 대신에 "index.php를", "index.html을"하지해야 $ _GET이 없으므로 먼저 존재하는 것이 testet이어야합니다. 응답 해 주셔서 감사합니다.

+0

'$ _GET'을 사용하지 말고, 대신 세션을 사용하십시오. – Martin

0

이것은 여러 번 반복되는 문제입니다. dev 모드에서는 변수를 화면에 덤프하여 서버가 이해하고있는 것을 피하십시오.

가장 간단한 양식은 코드 아래에있는 것뿐입니다.

<?php var_dump($_GET); ?>

그리고 어쩌면, var_dump($_GET["log_err"]); 등등.

다른 정답은 견딜 수 없으며, 오, 코드를 게시하기 전에 오랫동안 var_dump() 문이 남아 있지 않은지 확인하십시오.

행운을 빈다.

+0

정보 주셔서 감사합니다. – Tad