데이터베이스에 입력을 저장하는 사용자 정의 양식
-
-
다음은 [사용자 데이터 예] (http://wordpress.stackexchange.com/questions/75723/get-user-input-from-a-form/75737#75737)입니다.Here is an [example for user data](http://wordpress.stackexchange.com/questions/75723/get-user-input-from-a-form/75737#75737).
- 1
- 2012-12-25
- fuxia
-
7 대답
- 투표
-
- 2012-12-26
이 솔루션을 사용할 예정이지만 이음새가 매우 맞춤화되어 테마 및 업그레이드에 문제가 될 수 있습니까?
I am going to use this solution, but it seams to be very customize and can that be a problem with themes and upgrades?
-
내가보기에,템플릿 파일에서 로직을 분리해야합니다.POST 데이터를 처리하는 메서드는functions.php에 있고 [초기화 후크] (http://codex.wordpress.org/Plugin_API/Action_Reference/init)에 의해 초기화되어야합니다. 특정 페이지 템플릿에 대해 제출 된 데이터 만 처리하기 위해 해당 템플릿에 고유 한 명명 된 (선택적으로 숨겨진) 입력 필드를 확인할 수 있습니다.[is_page_template ()] (http://codex.wordpress.org/Function_Reference/is_page_template)을 사용하면 이점을 얻을 수도 있습니다.The way I see it, you should separate the logic from the template file. Your method that handles the POST data should be located in functions.php and initialized by a [initialization hook](http://codex.wordpress.org/Plugin_API/Action_Reference/init). To only handle the submitted data for a specific page template, you could check for a named (optionally hidden) input field that's unique for that template. You could also benefit of using [is_page_template()](http://codex.wordpress.org/Function_Reference/is_page_template)
- 0
- 2014-07-11
- estrar
-
정말 유용한 URLreally helpful url
- 0
- 2020-01-03
- Rohit
-
- 2013-07-30
내가 직접 문제를 해결했습니다.아래 코드를 참조하십시오.
새로 만든 맞춤 템플릿 에 코드를 입력합니다.
<?php if (!empty($_POST)) { global $wpdb; $table = wp_achord; $data = array( 'name' => $_POST['yourname'], 'chord' => $_POST['chord'] ); $format = array( '%s', '%s' ); $success=$wpdb->insert( $table, $data, $format ); if($success){ echo 'data has been save' ; } } else { ?> <form method="post"> <input type="text" name="yourname"> <textarea name="chord"></textarea> <input type="submit"> </form> <?php } ?>
I got the problem solution myself. See the code below this will do that.
Put the code inside your newly created custom template.
<?php if (!empty($_POST)) { global $wpdb; $table = wp_achord; $data = array( 'name' => $_POST['yourname'], 'chord' => $_POST['chord'] ); $format = array( '%s', '%s' ); $success=$wpdb->insert( $table, $data, $format ); if($success){ echo 'data has been save' ; } } else { ?> <form method="post"> <input type="text" name="yourname"> <textarea name="chord"></textarea> <input type="submit"> </form> <?php } ?>
-
세상에.단일 형식의 유효성 검사도 아닙니다.Oh my god. not even a single form of validation.
- 11
- 2015-05-10
- Jürgen Paul
-
이 솔루션은 SQL 주입 공격에 취약합니다.입력을 확인하십시오.This solution is susceptible to SQL injection attack. Please validate the input.
- 3
- 2018-02-23
- Jon Winstanley
-
- 2012-12-25
내 제안 :
문의 양식 7 과
문의 양식 DB .백엔드에서 양식을 "디자인"하고 간단한 단축 코드를 통해 프론트 엔드에 넣을 수 있습니다. 연락처 양식 DB 확장을 사용하면 데이터를 데이터베이스에 넣고 단축 코드를 제공하여 표시 할 수 있습니다 (또는 원하는 경우 데이터베이스에서 직접 데이터를 쿼리 할 수 있음).
My suggestion:
Use Contact Form 7 plus Contact Form DB. You can "design" your form in the backend and putting in the frontend via a simple shortcode.
The Contact Form DB extension let you put your data in the database and offers to you shortcodes to display it (or you can query the data directly from the database if you prefer)
-
문의 양식 7을 시도했는데 멋져 보이지만 질문이 있습니다.증분/식별자를 테이블에 열로 추가 할 수 있습니까?또한 테이블 값을 기반으로 드롭 다운 값을 설정해야합니다.나는 전에 CMS와 함께 일한 적이 없으며 자신을 맞춤화해야하는 정도와 필요한 정도를 모릅니다.I have tried Contact Form 7 and it look great but I do have some question. Is it possible to add a incremental/identifier as column to the table. I also need to set the dropdown values based on a tables values. I have never works with a CMS before and don't know how much you should and need to customize your self.
- 0
- 2012-12-26
- boje
-
@boje [Post My CF7 Form] (https://wordpress.org/plugins/post-my-contact-form-7/) 확장 플러그인을 사용하면 CF7 대시 보드 테이블을 재구성하여 std를 사용할 수 있습니다.WP 기능] (http://justintadlock.com/archives/2011/06/27/custom-columns-for-custom-post-types)을 사용하여 테이블에 사용자 지정 열을 추가합니다.@boje you can with the [Post My CF7 Form](https://wordpress.org/plugins/post-my-contact-form-7/) extension plugin, it reorganises the CF7 dashboard table, allowing you to use std [WP functionality](http://justintadlock.com/archives/2011/06/27/custom-columns-for-custom-post-types) to add a custom column to the table.
- 0
- 2016-10-17
- Aurovrata
-
한 사이트의 CF7 기록을 다른 사이트에 표시 할 수 있습니까?Can I display the CF7 Records of One Site in Another Site .?
- 0
- 2017-05-29
- Developer
-
이것은 여전히 유효한 해결책입니다.CFDB는 더 많은 양식 생성기 플러그인을 지원합니다.This is still a valid solution. CFDB supports even more form generator plugins.
- 0
- 2020-01-31
- mrmut
-
- 2012-12-25
다른 방법을 제공합니다. 옵션과 같은 상점 데이터의 경우 옵션 테이블, 옵션 API ,항목 및 저장 요소로서의 배열. 그러나 저장 데이터는 게시물처럼 사용하고 양식의 각 요청은 게시물처럼 저장하는 것이 좋습니다. 그러나 여기에도 다른 가능성이 있습니다. 다양한 게시물 유형에 대해 저장할 수 있습니다. 기본값은 '포스트'이며 사용자 정의 포스트 유형으로 저장할 수도 있습니다.
wp_insert_post()
함수를 사용하여 이후 모든 게시물 유형을 저장합니다. 사용자로부터 양식을 보냅니다. 여기에서이 함수에 대한 매우 훌륭한 답을 찾을 수 있습니다.이 주제는 www의 야생에서도 마찬가지입니다. 이 답변 73653 에는 양식에 첨부 파일이 포함되어 있습니다.It give different ways. For store data, like options is the options table, the options API, the right place with a entry and a array as store element. But for store data to use it like posts and each request from the form is it better to save also like post. But also here different possibilities. You can save for different post types. The default is 'post' and also you can save in a custom post type. Use the function
wp_insert_post()
to save for all post type after send Form from users. You find very fine answers here to this function, this topic ans also in the wild of www. You can also see a small example in this answer 73653, inlcude attachments in the form.-
'wp_insert_post ()'를 사용하는 것은 댓글에만 해당되는 것이 아닙니다.그리고 그렇지 않다면 왜 그것을 사용하는 것이 좋습니까?** 옵션 표 ** 아이디어를 얻지 못했습니다.Google에서 빠른 검색이 도움이되지 않습니다.by using the 'wp_insert_post()' is that not only for comment. And if not why do is it good to use that one? I don't get the **options table** idea. A quick search on Google don't help me :(
- 0
- 2012-12-26
- boje
-
`wp_insert_post ()`는 댓글 용이 아니라 게시물 콘텐츠 용으로 새 게시물을 만듭니다.나는 지금 내 대답을 업데이트하고있다.WPSE에서는 쉽지 않습니다.플러그인에 대한 힌트가있는 다른 답변은 동일합니다. 문의 양식 7 또는 기타가 새 게시물을 작성하지만 플러그인 요구 사항이 있습니다.이것을 제어하고 소스도 코딩에 대한 충분한 노하우를 가지고 있다면 게시물을 작성하는 가장 좋은 방법은 사용자 정의 플러그인입니다.The `wp_insert_post()` is not for comments, is for post content, create an new post. I update my answer now, was from mobile; not realy easy on WPSE. The other answer with the hint to plugins is the same, Contact Form 7 or other create new posts, but you have the requirements of a plugin. If you will control this, also the source and have enough knowhow about coding, then is a custom plugin to create posts the best way.
- 0
- 2012-12-27
- bueltge
-
지금까지 Bueltge를 도와 주셔서 감사합니다.`wp_insertpost`에 대한 나의 이해는 데이터베이스 테이블에 무언가를 빠르고 저장하기위한 도움말 기능이라는 것입니다.이 열 (id,coursename,paricipant,startdate,enddate)이있는 테이블 (name=Course)이있는 경우.테이블 이름은 어디에서 정의합니까?아마도 나는 그것이 잘못된 것을 이해했을 것입니다.코드 예 [link] (http://collabedit.com/b6vye)Thanks for your help so far Bueltge. My understanding of `wp_insertpost` is that it is a help-function for quick and save insert something into a database-table. If i have a table(name=Course) with these column(id, coursename, paricipant, startdate, enddate). Where do i define the tablename? Maybe I understood it comeplety wrong. Code example [link](http://collabedit.com/b6vye)
- 0
- 2012-12-28
- boje
-
아니요,이 기능은 기본 워드 프레스 테이블에 데이터를 생성합니다.최소`_posts`에 있으며 다른 테이블에도 첨부 파일이 있거나 메타 데이터가 게시되어 있으면post와 함께nabership에 있습니다.그러나 당신은 워드 프레스에서 양식의 데이터 저장을 요청하고 이것이 최선의 방법이라고 생각합니다.양식에서 항목을 편집하고 유지 관리하기위한 많은 솔루션이있는 UI를 작업하지 않아도됩니다.내 행동 링크의 코드가 보이면 해결책이 보입니다.No, the function create data in the default wordpress tables; minimum in `_posts` and if you have attachments or post meta data also in the other tables, there are in nabership with post. But you ask for save data from form in wordpress and I think, this is the best way. You have without work a UI with many solutions for edit and maintenance the items from form. If you see the code from my behaviour link, then you see the solution.
- 0
- 2012-12-28
- bueltge
-
감사합니다. 설정을 더 잘 이해하기 위해 더 읽어 보거나 튜토리얼을 찾아야한다고 생각합니다.Thanks, think i need to read some more or find some tutorials to understand the setup better
- 0
- 2012-12-28
- boje
-
예,다른 답변의 내 링크 또는 [this] (http://clarklab.com/posts/wordpress-front-end-post-form-using-wp_insert_post/)와 같은 웹 링크처럼.Yes, like my link in the other answer or a link from web, like [this](http://clarklab.com/posts/wordpress-front-end-post-form-using-wp_insert_post/).
- 0
- 2012-12-28
- bueltge
-
- 2016-10-17
게시물과 함께 우수한 문의 양식 7 플러그인을 사용할 수도 있습니다.내 CF7 양식 확장 플러그인을 사용하면 이미지를 포함하여 모든 사용자 정의 양식을 게시물에 저장할 수 있으며 분류로 선택/체크 박스/라디오 입력을 선택할 수 있습니다.
Post My CF7 Form 플러그인에는 양식을 저장하는 방식을 추가로 사용자 정의하고 조정할 수있는 풍부한 기능이 있습니다.자세한 문서 섹션 도 있습니다.
You could also use the excellent Contact Form 7 plugin along with the Post My CF7 Form extension plugin which will allow you to save any custom forms to a post, including images as featured attachments, and select/checkbox/radio inputs as taxonomies.
The Post My CF7 Form plugin has a rich functionality that can be leveraged to further customise and tweak the way your forms should be saved. There is a detailed documentation section too.
-
- 2016-05-20
솔루션이 훌륭하고 잘 작동 할 수 있습니다.그러나 몇 가지 제한 사항이 있습니다.예 :
1) 양식을 통해 게시 된 항목을 검색하고 정렬하는 것은 어떻습니까? 2) 양식에 채워진 데이터를 Excel,CSV 또는 PDF로 내보내는 것은 어떻습니까? 3) 삽입 된 데이터를 인쇄하려면 어떻게해야합니까?
연락처 양식 7 + 연락처 양식 7 저장 플러그인으로 달성 할 수있는 모든 것
둘 다 무료로 널리 사용되는 플러그인입니다. http://savecontactform7.com/ http://contactform7.com/
Your solution is good and may work very well. But, there are few limitations. eg:
1) What about searching and sorting entries which are posted through your form? 2) What about exporting the data filled into your form to Excel or CSV or PDF? 3) What if you want to print the inserted data.
All that can be achieved with Contact Form 7 + Save Contact Form 7 plugins.
both are free widely used plugins: http://savecontactform7.com/ http://contactform7.com/
-
귀하의 소속을 밝히고 질문의 요구 사항에 따라 구체적으로 답변 해주십시오.이것은 진정한 솔루션 이라기보다는 광고에 가깝습니다.Please disclose your affiliation and make answer specific to the requirements of the question. This reads more like advertisement than genuine solution.
- 0
- 2016-05-20
- Rarst
-
동의합니다. 이것은 광고처럼 보이며 Save Contact Form 7의 소유자입니다. 그러나 솔루션과 답변은 질문의 요구 사항과 완벽하게 일치합니다.그래서 이것은 질문을 한 사람에게 확실히 도움이 될 것입니다.I agree, this looks like an advertisement, and I am an owner of the Save Contact Form 7. But, the solution and answer perfectly aligns with the requirement of the question. So, this is definitely going to help the person who asked the question.
- 0
- 2016-05-22
- Nimblechapps
-
- 2017-02-07
<?php /** Use these line of codes, its working more than 100% */ get_header();?> <?php if (!empty($_POST)) { global $wpdb; $table = wp_contact; $data = array( 'name' => $_POST['aname'], 'email' => $_POST['aemail'], 'subject' => $_POST['asubject'], 'msg' => $_POST['amsg'] ); $format = array( '%s', '%s' ); $success=$wpdb->insert( $table, $data, $format ); if($success){ echo 'data has been saved' ; } } else { ?> <form action="<?php echo get_option('siteurl'); ?>/form/" method="post"> <input type="text" name="aname"> <input type="text" name="aemail"> <input type="text" name="asubject"> <textarea type="text" name="amsg"></textarea> <input type="submit"> </form> <?php } ?>
<?php /** Use these line of codes, its working more than 100% */ get_header();?> <?php if (!empty($_POST)) { global $wpdb; $table = wp_contact; $data = array( 'name' => $_POST['aname'], 'email' => $_POST['aemail'], 'subject' => $_POST['asubject'], 'msg' => $_POST['amsg'] ); $format = array( '%s', '%s' ); $success=$wpdb->insert( $table, $data, $format ); if($success){ echo 'data has been saved' ; } } else { ?> <form action="<?php echo get_option('siteurl'); ?>/form/" method="post"> <input type="text" name="aname"> <input type="text" name="aemail"> <input type="text" name="asubject"> <textarea type="text" name="amsg"></textarea> <input type="submit"> </form> <?php } ?>
이전에 워드 프레스를 사용한 적이 없지만 프로그래밍 경험이 많습니다.제 질문은 WordPress에서 사용자 지정 양식을 만드는 방법입니다.
사용자가 일부 입력 필드를 채우고 제출시 데이터를 데이터베이스에 저장하는 양식을 만들어야합니다.저장에 대한 알림이 필요하지 않습니다.
또한 데이터를 쿼리하고 HTML 테이블에서 출력을 가져와야합니다.
감사합니다