테스트 사이트 - 개발 중인 베타 버전입니다

인트로 페이지에 session 문의 채택완료

연탄집개 2년 전 조회 1,920

인트로 페이지에 인증코드를 넣고 맞으면 넘어 가고 아니면 인증페이지 그대로 이도록 하고 있습니다. 아래처럼 처리 했는데 계속 auth.php로 넘어오는데 무엇이 문제 일까요?

</p>

<p><code>먼저 index.php </code></p>

<p> </p>

<p><code><?</code><code>php</code></p>

<p><code>define('_INDEX_', true);</code></p>

<p><code>if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</code></p>

<p> </p>

<p> </p>

<p><code>session_start(); // 세션을 시작합니다.</code></p>

<p><code>if (!isset($_SESSION['authenticated'])) { // 인증되지 않은 경우, auth.php로 이동합니다.</code></p>

<p><code>    </code><code>header('Location: auth.php');</code></p>

<p><code>    </code><code>exit;</code></p>

<p><code>}</code></p>

<p> </p>

<p><code>이하 생략</code></p>

<p><code>.</code></p>

<p><code>.</code></p>

<p> </p>

<p> </p>

<p> </p>

<p> </p>

<p> </p>

<p> </p>

<p><code>이렇게 넣고  </code></p>

<p><code>auth.php에는 </code></p>

<p> </p>

<p><code> </code><code><?php</code></p>

<p><code>$</code><code>auth_codes</code> <code>= </code><code>array</code><code>('code1', 'code2', 'code3'); // 여러 개의 인증 코드 중에서 사용할 코드를 이 배열에 추가하세요.</code></p>

<p> </p>

<p><code>if (isset($_POST['auth_code'])) {</code></p>

<p><code>    </code><code>$input_code = $_POST['auth_code'];</code></p>

<p><code>    </code><code>if (in_array($input_code, $auth_codes)) {</code></p>

<p><code>        </code><code>session_start();</code></p>

<p><code>        </code><code>$_SESSION['authenticated'] = true;</code></p>

<p><code>        </code><code>header('Location: index.php'); // 인증에 성공하면 다시 index.php로 돌아갑니다.</code></p>

<p><code>        </code><code>exit;</code></p>

<p><code>    </code><code>} else {</code></p>

<p><code>        </code><code>echo '인증 코드가 잘못되었습니다.';</code></p>

<p><code>    </code><code>}</code></p>

<p><code>}</code></p>

<p><code>?></code></p>

<p> </p>

<p><code><</code><code>form</code> <code>method</code><code>=</code><code>"post"</code><code>></code></p>

<p><code>    </code><code><</code><code>label</code> <code>for</code><code>=</code><code>"auth_code"</code><code>>인증 코드 입력:</</code><code>label</code><code>></code></p>

<p><code>    </code><code><</code><code>input</code> <code>type</code><code>=</code><code>"text"</code> <code>name</code><code>=</code><code>"auth_code"</code><code>></code></p>

<p><code>    </code><code><</code><code>input</code> <code>type</code><code>=</code><code>"submit"</code> <code>value</code><code>=</code><code>"확인"</code><code>></code></p>

<p><code></</code><code>form</code><code>></code></p>

<p> </p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트

그누보드 쓰시면

그냥 _common.php include하세요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

2년 전
<?php

맨 앞에 띄어쓰기 되어 있는지 확인하세요

띄어쓰기 꺾쇠 php

이와 같이 눈에 안보이는 띄어쓰기가 들어가 있을수 있습니다

세션 시작하기 전에 눈에 보이지 않는 띄어쓰기등이 들어 있다면 오류로인해 원하는 결과가 나오지 않을수 

있습니다

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

세크티
2년 전
session_start(); // 세션을 시작합니다.
이거 지워보세요
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

연탄집개
2년 전
동일하게 다시 auth.php로 넘어오네요ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인