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

자동방지 문자 틀렸을때 내용유지 채택완료

동물원 1년 전 조회 1,944

그누보드5 를 커스터마이징해서 신청폼으로 사용중인데요.

자동등록방지 문자를 잘못 입력하면 리프레시 되면서 입력한 내용이 모두 사라집니다.

 

비회원이 신청폼 작성후 자동등록 방지 문자를 잘못 입력한 경우에 

입력한 내용은 유지되고 자동등록 번호만 새로 입력할 수 있게 하려면 어떻게 해야 할까요?

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

답변 2개

채택된 답변
+20 포인트

다음과 같은 방법으로 가능하지 않을까 합니다.

참고하셔서 실제 구현하고자 하는 형식으로 가공하시면 될것 같네요

 

1. 세션 또는 쿠키사용

자동등록 방지 문자를 확인하기 전에, 사용자가 입력한 내용을 세션에 저장

</p>

<p>// 세션 시작

session_start();</p>

<p>// 사용자가 제출한 내용을 세션에 저장

$_SESSION['form_data'] = $_POST; // 이는 예시이며, 실제로는 데이터를 적절히 가공하여 저장해야 합니다.

 

2. 자동등록방지 문자 검증

자동등록 방지 문자를 검증하기 전에, 세션에서 저장한 데이터를 다시 가져옴

</p>

<p>// 세션 시작

session_start();</p>

<p>// 사용자가 입력한 내용을 가져옴

$form_data = isset($_SESSION['form_data']) ? $_SESSION['form_data'] : array();

 

3. 폼에 이전데이터 입력

</p>

<p><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'] : ''; ?>" /></p>

<p>    <!-- 자동등록 방지 문자 입력 필드 -->

    <input type="text" name="captcha" /></p>

<p>    <input type="submit" value="Submit" />

</form>

 

4. 세션데이터 초기화

세션에 저장한 데이터는 한 번 사용하면 초기화해야함

</p>

<p>// 세션 시작

session_start();</p>

<p>// 사용자가 입력한 데이터를 가져옴

$form_data = isset($_SESSION['form_data']) ? $_SESSION['form_data'] : array();</p>

<p>// 세션 초기화

unset($_SESSION['form_data']);

 

 

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

답변에 대한 댓글 1개

동물원
1년 전
상세한 답변 감사 드립니다. 알려주신 내용으로 한번 시도해 보겠습니다. 새해 복 많이 받으세요.^^

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

1년 전

JavaScript sessionStorage 또는

데이터의 보안이 필요한경우 서버 session 을 이용하는 방법이 있을것 같습니다.

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

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

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

로그인