내 친구가 초대하는 데 사용되는 양식이 있습니다. 그것은 간단한 텍스트 필드와 제출 버튼입니다. 오류가있는 경우이 페이지로 다시 리디렉션하고 세션 변수가 설정된 경우 오류 메시지를 표시합니다.세션 변수 설정을 해제하는 중 문제가 발생했습니다.
if (isset($_SESSION['invite_error'])) {
echo $_SESSION['invite_error'];
unset($_SESSION['invite_error']);
}
그러나이 페이지에서 나가서 다시 방문하면 오류 메시지가 계속 표시됩니다. 내가 돌아 서서 한 번 더 돌아 오면 끝날 것입니다. 그 페이지를 새로 고침 할 때도 마찬가지입니다. 새로 고침하면 제거되지 않지만 2이면 새로 고침됩니다. 전체 세션을 파기 할 수는 없지만이 변수를 설정 해제하고 싶습니다. PHP 버전은 5.2.5 빌드 6, 전역 등록 해제,이 페이지의 맨 위에서 session_start()를 호출하고 있는데, no-cache 헤더도 사용하려고했습니다.
편집 : 전체 코드가 추가되었습니다.
<?php
ob_start();
session_start();
$user_id = $_SESSION['user_id'];
$user_name = $_SESSION['user_name'];
if ($user_id==null) header("Location: /login.php");
if (isset($_SESSION['invite_errors'])) {
$error = $_SESSION['invite_errors'];
unset($_SESSION['invite_errors']);
}
require_once("ui/header.php");
?>
<div id="invite" class="content">
<?php if($error) { ?>
<div class="errors round">
<?php echo $error ?>
</div>
<?php } ?>
<h3>Invite Your Friends</h3>
<div class="invite-form">
<form method="post" action="controllers/invite.php">
<div class="row">
<textarea class="txt-area" name="emails" id="emails" rows="5"></textarea>
<div class="tip">Separate multiple email addresses with ,</div>
</div>
<div class="row-submit">
<input type="submit" name="submit" id="submit" class="submit-btn" value="Submit" />
</div>
</form>
</div>
</div>
<?php
require_once("ui/footer.php");
?>
unset ($ _ SESSION [ 'invite_error']; => 설정되지 않은 권한)이 없습니다. 복사 붙여 넣기 문제라고 생각합니다. – Macarse
요청에 AJAX를 사용하고 있습니까? –
$ _SESSION var을 설정 해제하기 전에 설정되는 다른 변수에 오류가있을 수 있습니까? – alex