자동방지 문자 틀렸을때 내용유지
본문
그누보드5 를 커스터마이징해서 신청폼으로 사용중인데요.
자동등록방지 문자를 잘못 입력하면 리프레시 되면서 입력한 내용이 모두 사라집니다.
비회원이 신청폼 작성후 자동등록 방지 문자를 잘못 입력한 경우에
입력한 내용은 유지되고 자동등록 번호만 새로 입력할 수 있게 하려면 어떻게 해야 할까요?
답변 2
다음과 같은 방법으로 가능하지 않을까 합니다.
참고하셔서 실제 구현하고자 하는 형식으로 가공하시면 될것 같네요
1. 세션 또는 쿠키사용
자동등록 방지 문자를 확인하기 전에, 사용자가 입력한 내용을 세션에 저장
// 세션 시작
session_start();
// 사용자가 제출한 내용을 세션에 저장
$_SESSION['form_data'] = $_POST; // 이는 예시이며, 실제로는 데이터를 적절히 가공하여 저장해야 합니다.
2. 자동등록방지 문자 검증
자동등록 방지 문자를 검증하기 전에, 세션에서 저장한 데이터를 다시 가져옴
// 세션 시작
session_start();
// 사용자가 입력한 내용을 가져옴
$form_data = isset($_SESSION['form_data']) ? $_SESSION['form_data'] : array();
3. 폼에 이전데이터 입력
<form action="your_form_action.php" method="post">
<!-- 이전에 입력한 데이터를 가져와서 폼에 채워 넣기 -->
<input type="text" name="username" value="<?php echo isset($form_data['username']) ? $form_data['username'] : ''; ?>" />
<!-- 다른 입력 필드들도 동일하게 처리 -->
<input type="text" name="email" value="<?php echo isset($form_data['email']) ? $form_data['email'] : ''; ?>" />
<!-- 자동등록 방지 문자 입력 필드 -->
<input type="text" name="captcha" />
<input type="submit" value="Submit" />
</form>
4. 세션데이터 초기화
세션에 저장한 데이터는 한 번 사용하면 초기화해야함
// 세션 시작
session_start();
// 사용자가 입력한 데이터를 가져옴
$form_data = isset($_SESSION['form_data']) ? $_SESSION['form_data'] : array();
// 세션 초기화
unset($_SESSION['form_data']);
!-->!-->!-->!-->
JavaScript sessionStorage 또는
데이터의 보안이 필요한경우 서버 session 을 이용하는 방법이 있을것 같습니다.
답변을 작성하시기 전에 로그인 해주세요.