한 번만 표시하려는 세션 변수에 오류 메시지가 저장되어 있습니다. 내 방법은 거기에 있는지 확인한 후 에코 및 후 설정을 해제하는 것입니다.에코 후 세션 변수를 해제 할 수 없습니다.
<div class="signin">
<form name="signuser" action="php/signin_user.php" onsubmit="return validateForm()" method="POST">
<input type="text" name="email" placeholder="E-mail" value="<?php echo $_SESSION['signin']['email']; ?>"><br>
<input type="password" name="password" placeholder="Password"><br>
<input type="submit" value="Sign in">
</form>
<br>
<div id="login-error" style="display: none"></div>
<?php
if(isset($_SESSION['msg']['signin-error'])) { \t
echo '<div id="login-php-error">';
echo '<p>'.$_SESSION['msg']['signin-error'].'</p>';
echo '</div>';
}
if(isset($_SESSION['msg']['signin-error'])) {
unset($_SESSION['msg']['signin-error']);
}
if (isset($_SESSION['signin']['email']))
unset($_SESSION['signin']['email']);
?>
</div>
나는 함께 시도 = ""물론!
<?php
if($_SESSION['msg']['signin-error'] != "") { \t
echo '<div id="login-php-error">';
echo '<p>'.$_SESSION['msg']['signin-error'].'</p>';
echo '</div>';
}
if($_SESSION['msg']['signin-error'] != "") {
unset($_SESSION['msg']['signin-error']);
}
if ($_SESSION['signin']['email'] != "")
unset($_SESSION['signin']['email']);
?>
아무것도 작동하지 않습니다. 내 모든 페이지에 session_start()가 있습니다. 각 리프레시가 계속 표시됩니다.
편집 :
은 분명히 내가 PHP 새로운 오전과 내가 지금 사용자 피드백을 제공하는 세션을 사용하는 것은 어리석은 것을 알 수있다. 나는 오류 메시지를 표시하기 위해 GET을 사용하는 것을 끝내었고 그것은 나의 필요를 위해 아주 잘 작동한다. 도와 주셔서 감사합니다!
아직 세션을 시작하지 않은 경우 –
모든 페이지에서 온 오프 –
오류를 확인한 다음 http://php.net/manual/en/function.error-reporting.php - HTML 소스보기, var_dump() 및 echo는 모두 유용한 디버깅 도구입니다. –