new to EE (version 2.6.1) although I have used a handful of CMS's like WP, Joomla and Teamsite.

I was tasked today with something I could use help with.

I need to create a submission form, that will store the form fields in a dbase, and display these records on a subsequent page.

Looks like EE is using MySQL 5.1.61

Example. You are a non profit company who wants to be listed in our "partners" page catalog.

You fill in our form:

  • Organization name
  • Products or Services
  • Area of Service
  • Keywords
  • Contact Name
  • Contact Email
  • Contact Phone
  • [etc]

Saves to dbase.

On the "Catalog of Partners" page... I basically read the dbase table and display each partner.

I can get into the "Manage Database Tables" section of admin console, but don't see how I can create my own table.

I also see what I think is some type of "addon" called "ProForms" which has some pretty straight forward settings, but doesn't look like there is a place to control the actual form fields I need?

Am just hoping for a bit of guidance. Thanks all.

3 Answers 3


Welcome to the EE community!

Have a look at an add-on called Freeform. This is a free add-on that allows you to create different forms (there's a paid version if you need additional functionality, but from what you've said the free version should be fine). There's plenty of documentation to get you started as well.

Freeform saves all the entries to the database, so there's no need to go creating your own tables. You can then output any of the data submitted through Freeform using the {exp:freeform:entries} tag.

You can use EE's built in captcha (or other more accessibility friendly approach) to keep spam entries at bay, and you can set entries to have a pending status until you've validated them.

A different approach would be to allow people to register on the site using EE's member management features - registered users could then update their own profile through their member accounts. This would need a little more development work but make your partners page a little more self-service. Your proposed approach would work fine though.

  • If the listings ever need to be updated you'll wish you treated them as "members" as Andrew suggests...
    – AllInOne
    Apr 21, 2014 at 21:38
  • That helps tremendously. I am currently editing the Members Fields to be a bit more concise, and geared towards how we want the members to appear. Also editing the preferences, and group settings as we speak.. One follow up...How can I delete some of the default fields on the New Member Registragion page? i.e. (AOL IM, ICQ, yahoo IM, MSN IM)...etc...I have a feeling there is where I need to get into the Tables manager? Apr 28, 2014 at 14:44
  • There's no need to delete any of the default members fields. You don't need to use them if you don't want to, and you can easily create custom member fields if need extra ones. There is no such thing as a tables manager in EE (short of diving into the database directly which you shouldn't need to do). If you really want to cut down on member fields, take a look at an add on called Zoo Visitor which allows you to store all your members within a channel - then you can manipulate the member data in the same way as your content. Apr 28, 2014 at 19:58

The idea behind EE is that you don't need to manage database tables. using the admin interface to create channels and custom fields will do all that for you. I suggest you start by reading an EE overview: http://ellislab.com/expressionengine/user-guide/intro/the_big_picture.html

basically, your set up requires a channel to store "partners". you'd then want to create custom fields at least for all of the form fields that you are capturing. you can then use the "channel form" (http://ellislab.com/expressionengine/user-guide/add-ons/channel/channel_form/) to allow partners to sign up. by default, you'd want those entries to be "closed" (not published) until an admin can review/edit/approve before they appear on the site.

I'm not familiar with proforms but it surely looks like you can control the actual form fields by simply dragging them into the form (second screenshot at http://devot-ee.com/add-ons/proform-drag-and-drop-form-builder). and it looks like a powerful tool.

remember, there are no pre-build templates. the power of EE lies in giving you total freedom to build your own code (which some developers might consider a hassle).


One thing I might suggest is looking at the possibility of upgrading EE to 2.8.1. Depending on what add-ons the site currently relies upon however may make this more hassle than its worth. You may want to make a list of the add-ons that are currently installed and do a basic check for compatibility issues before proceeding. If you do decide to upgrade, test it out on a development server and be sure to make a full backup of the database and all site files in case things go awry.

Most of the current EE documentation for frontend input into database relies on the {exp:channel:form} tag, which used to be a 3rd-party add-on called Safecracker but which was incorporated into the core system at around version 2.7 of Expression Engine. As others have already stated, EE basically uses what are called "Channel Entries" to manage all content, and does so within already-defined database tables. The type of thing you are proposing is easily handled via template tags and channels using {exp:channel:form} for input and the {exp:channel:entries} tag for display, and does not require any database manipulation.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.