WordPress/Form Processing

WordPress Custom Form Processing example

Soul-Learner 2015. 12. 22. 17:37

워드프레스에서 커스텀 폼 데이터 처리 예


개요

워드프레스에서 플러그인을 사용하지 않고 작성한 폼을 다루는 방법을 찾다가 알게 된 내용을 정리하고자 한다

워드프레스에서 커스텀 폼을 다룰 수 있는 플러그인이 많이 있지만 워드프레스를 좀더 잘 이해하기 위한 수단으로 직접 폼을 작성하고 폼데이터를 처리하는 서버측 코드까지 작성하기로 한다

워드프레스에서 만든 페이지 템플릿을 편집하여 폼을 작성하고 action=../form-proc.php 으로 설정하여 직접 폼처리 로직이 호출되도록 하였다. 이 때 중요한 점은 form-proc.php 파일은 워드프레스가 설치된 루트 폴더에 저장해야 한다는 것이다



테스트 환경

Autoset 9

WordPress 4.4



http://localhost/wordpress/form-test 으로 접속되는 템플릿 페이지 안에 다음과 같이 폼을 작성한다

<form action="../form_proc.php" method="post">
메시지 <input type="text" name="msg" value="안녕하세요?">
<button type="submit">전 송</button>
</form>



워드프레스가 설치된 루트 폴더에 다음과 같이 폼처리 코드를 작성한다

C:/Autoset9/public_html/wordpress/form-proc.php

<?php
session_start();

$_SESSION['msg'] = $_POST['msg'];

$myfile = fopen("test.txt", "w") or die("Unable to open file!");

$txt = $_POST['msg'];
fwrite($myfile, $txt);
fclose($myfile);

header("Location: http://127.0.0.1/wordpress/form-result/");
?>


위의 코드에서는 폼으로부터 전달된 값을 세션과 파일에 저장해 본 것이고 특별한 의미는 없다.