Formulaire personnalisé qui stocke l'entrée dans la base de données
-
-
Voici un [exemplepour les données utilisateur] (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 réponses
- votes
-
- 2012-12-26
Je vais utiliser cette solution,maiselle sembletrèspersonnaliséeet celapeut-il être unproblème avec lesthèmeset lesmises àjour?
I am going to use this solution, but it seams to be very customize and can that be a problem with themes and upgrades?
-
De lafaçon dontje le vois,vous devez séparer la logique dufichiermodèle.Votreméthode quigère les données POST doit être située dansfunctions.phpet initialiséepar un [hook d'initialisation] (http://codex.wordpress.org/Plugin_API/Action_Reference/init). Pourgérer uniquement les données soumisespour unmodèle depage spécifique,vouspouvez rechercher un champ d'entréenommé (éventuellementmasqué) quiest uniquepour cemodèle.Vouspouvez égalementbénéficier de l'utilisation de [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
-
URL vraiment utilereally helpful url
- 0
- 2020-01-03
- Rohit
-
- 2013-07-30
J'aimoi-mêmetrouvé la solution auproblème.Voir le code ci-dessous,celafera cela.
Insérez le code dans votre modèlepersonnalisé nouvellement créé.
<?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 } ?>
-
Ohmon Dieu.pasmême une seuleforme de validation.Oh my god. not even a single form of validation.
- 11
- 2015-05-10
- Jürgen Paul
-
Cette solutionest sensible aux attaquesparinjection SQL.Veuillez valider l'entrée.This solution is susceptible to SQL injection attack. Please validate the input.
- 3
- 2018-02-23
- Jon Winstanley
-
- 2012-12-25
Ma suggestion:
Utilisez le formulaire de contact 7 plus
Formulaire de contact DB .Vouspouvez «concevoir» votreformulaire dans lebackendet lemettreen frontend via un simple shortcode. L'extension Contact Form DB vouspermet demettre vos données dans labase de donnéeset vouspropose des shortcodespour les afficher (ou vouspouvezinterroger les données directement depuis labase de données si vouspréférez)
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)
-
J'aiessayé leformulaire de contact 7et il a l'airgénial,maisj'ai une question.Est-ilpossible d'ajouter unincrémental/identifiant comme colonne à latable.J'ai égalementbesoin de définir les valeurs de liste déroulanteen fonction des valeurs d'unetable.Jen'aijamaistravaillé avec un CMS auparavantet jene saispas combien vous devriezet devez vouspersonnaliser.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 vouspouvez avec leplugin d'extension [Publiermonformulaire CF7] (https://wordpress.org/plugins/post-my-contact-form-7/),il réorganise letableau dutableau debord CF7,vouspermettant d'utiliser std [Fonctionnalité WP] (http://justintadlock.com/archives/2011/06/27/custom-columns-for-custom-post-types)pour ajouter une colonnepersonnalisée à latable.@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
-
Puis-je afficher lesenregistrements CF7 d'un site dans un autre site.?Can I display the CF7 Records of One Site in Another Site .?
- 0
- 2017-05-29
- Developer
-
C'esttoujours une solution valable.CFDBprenden chargeencoreplus deplugins degénérateur deformulaires.This is still a valid solution. CFDB supports even more form generator plugins.
- 0
- 2020-01-31
- mrmut
-
- 2012-12-25
Cela donne différentesmanières. Pour les données demagasin,comme les optionsest letableau des options, l'API d'options ,aubonendroit avec uneentréeet untableau comme élément demagasin. Maispour que les données de stockage les utilisent comme despublicationset chaque demande duformulaire,ilestpréférable de lesenregistrer également comme despublications. Mais aussiici différentespossibilités. Vouspouvezenregistrerpour différentstypes depublication. La valeurpar défautest «post»et vouspouvez égalementenregistrer dans untype depublicationpersonnalisé. Utilisez lafonction
wp_insert_post()
pourenregistrertous lestypes demessages aprèsenvoyer leformulaire des utilisateurs. Voustrouvezici detrèsbelles réponses à cettefonction,à ce sujetet aussi dans lanature de www. Vouspouvez également voir unpetit exemple dans cette réponse 73653 ,incluez lespiècesjointes dans leformulaire.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.-
en utilisant le 'wp_insert_post ()'n'estpas quepour les commentaires.Et sinon,pourquoiest-ilbon d'utiliser celui-là?Jen'aipas l'idée de **table d'options **.Une recherche rapide sur Googlene m'aidepas :(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
-
Le `wp_insert_post ()`n'estpaspour les commentaires,estpour le contenu de l'article,créez unnouveaumessage.Jemets àjourma réponsemaintenant,depuis lemobile;pas vraimentfacile sur WPSE.L'autre réponse avec l'allusion auxpluginsest lamême,Contact Form 7 ou autre créez denouveaux articles,mais vous avez lesexigences d'unplugin.Si vous contrôlez cela,ainsi que la sourceet que vous avez suffisamment de connaissancesen matière de codage,alorsest unpluginpersonnalisépour créer des articles de lameilleurefaçon.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
-
Mercipour votre aidejusqu'àprésent Bueltge.Ma compréhension de `wp_insertpost`est que c'est unefonction d'aidepourinsérer rapidementet enregistrer quelque chose dans unetable debase de données.Sij'ai unetable (nom=cours) avec ces colonnes (id,nom de cours,participant,date de début,date defin).Où définir lenom de latable?Peut-être ai-je compris que c'étaitmal.Exemple de code [lien] (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
-
Non,lafonction crée des données dans lestables wordpresspar défaut;minimum dans `_posts`et si vous avez despiècesjointes oupostez desmétadonnées également dans les autrestables,il yen aen nabership avecpost.Mais vous demandez de sauvegarder les données duformulaire dans wordpresset jepense que c'est lemeilleurmoyen.Vous disposez sanstravail d'uneinterface utilisateur avec denombreuses solutionspour éditeret maintenir les éléments duformulaire.Si vous voyez le code demon lien de comportement,vous voyez la solution.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
-
Merci,je pense quej'aibesoin d'en lireplus ou detrouver destutorielspourmieux comprendre la configurationThanks, think i need to read some more or find some tutorials to understand the setup better
- 0
- 2012-12-28
- boje
-
Oui,commemon lien dans l'autre réponse ou un lien du Web,comme [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
Vouspouvez également utiliser l'excellentplugin Contact Form 7 avec le MessageLeplugin My CF7 Formextension qui vouspermettra d'enregistrertous lesformulairespersonnalisés dans unepublication,y compris lesimagesen tant quepiècesjointes,et de sélectionner/case à cocher/entrées radio commetaxonomies.
Leplugin Post My CF7 Formpossède unefonctionnalité riche quipeut êtreexploitéepourpersonnaliseret modifier davantage lafaçon dont vosformulaires doivent êtreenregistrés.Ilexiste également une section de documentation détaillée.
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
Votre solutionestbonneet peuttrèsbien fonctionner.Mais,il y apeu de limitations.parexemple:
1) Qu'enest-il de la rechercheet dutri desentrées qui sontpubliées via votreformulaire? 2) Qu'enest-il de l'exportation des données remplies dans votreformulaire vers Excel ou CSV ou PDF? 3) Quefaire si vous souhaitezimprimer les donnéesinsérées.
Tout ce quipeut être réalisé avec leformulaire de contact 7 + lesplugins Enregistrer leformulaire de contact 7.
les deux sont despluginsgratuits largement utilisés: 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/
-
Veuillez divulguer votre affiliationet donner une réponse spécifique auxexigences de la question.Cela ressembleplus à unepublicité qu'à une véritable solution.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
-
Je suis d'accord,cela ressemble à unepublicité,et je suispropriétaire duformulaire de contact d'enregistrement 7. Mais,la solutionet la réponse correspondentparfaitement à l'exigence de la question.Donc,cela va certainement aider lapersonne qui aposé la question.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 } ?>
Jen'aijamais utilisé WordPress auparavant,maisj'aibeaucoup d'expérienceen programmation.Ma questionest,comment créer desformulaires douaniers dans WordPress?
J'aibesoin de créer unformulaire dans lequel un utilisateur remplit certains champs de saisieet lors de l'envoi,les données doivent être stockées dans labase de données.Jen'aibesoin d'aucunenotification lors de l'enregistrement.
J'ai égalementbesoin d'interroger les donnéeset d'obtenir la sortie dans untableau HTML.
Merci