PHPackages                             liquidlight/typo3-form-to-database - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. liquidlight/typo3-form-to-database

ActiveTypo3-cms-extension[Database &amp; ORM](/categories/database)

liquidlight/typo3-form-to-database
==================================

Extends the TYPO3 form with a database finisher, to save every form-result in the database.

5.3.1(3w ago)518.4k↑108.8%6[13 issues](https://github.com/liquidlight/typo3-form-to-database/issues)GPL-3.0-or-laterPHPPHP ^8.2 || ^8.3 || ^8.4CI passing

Since Jun 14Pushed 3w ago1 watchersCompare

[ Source](https://github.com/liquidlight/typo3-form-to-database)[ Packagist](https://packagist.org/packages/liquidlight/typo3-form-to-database)[ Docs](https://github.com/liquidlight/typo3-form-to-database/)[ RSS](/packages/liquidlight-typo3-form-to-database/feed)WikiDiscussions main Synced 2d ago

READMEChangelog (7)Dependencies (45)Versions (59)Used By (0)

TYPO3 Extension `Form to Database`
==================================

[](#typo3-extension-form-to-database)

[![Latest Stable Version](https://camo.githubusercontent.com/1fa6ff76373578e98eb5f50e79bf64e4bccf737559cc8ede8c8d9a1109bdeb68/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6c69717569646c696768742f7479706f332d666f726d2d746f2d64617461626173653f7374796c653d666f722d7468652d6261646765)](https://packagist.org/packages/liquidlight/typo3-form-to-database)[![TYPO3](https://camo.githubusercontent.com/b37ae55b4fa5d794b89db3abb131e73cc69778fde8e2f5128309765527752dad/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5459504f332d666f726d5f746f5f64617461626173652d2532336634393730303f7374796c653d666f722d7468652d6261646765)](https://extensions.typo3.org/extension/form_to_database/)[![License](https://camo.githubusercontent.com/2843174e360b7693b403f2fcdb38f45a93bc2564a31dbac17bb188cf6a6c5576/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6c69717569646c696768742f7479706f332d666f726d2d746f2d64617461626173653f7374796c653d666f722d7468652d6261646765)](https://packagist.org/packages/liquidlight/typo3-form-to-database)

> This extension adds an additional finisher to the TYPO3 Form (tx\_form) to save the results into the database

- **GitHub Repository**: [github.com/liquidlight/typo3-form-to-database](https://github.com/liquidlight/typo3-form-to-database)
- **TYPO3 Extension Repository**: [extensions.typo3.org/extension/form\_to\_database](https://extensions.typo3.org/extension/form_to_database)
- **Found an issue?**: [github.com/liquidlight/typo3-form-to-database/issues](https://github.com/liquidlight/typo3-form-to-database/issues)

```
composer req liquidlight/typo3-form-to-database

```

Compatibility
-------------

[](#compatibility)

Form to DatabaseTYPO3 Version5.x13.44.x12.43.x11.52.x9.5 - 10.4Introduction
------------

[](#introduction)

### Features

[](#features)

- No configuration needed
- No database-changes per form required
- Shows all results per form in a separate backend module
- Provides a CSV-download of all results
- Preview &amp; PDF download of individual form results
- Automatic deletion of results after a specified number of days (GDPR)

### Screenshots

[](#screenshots)

#### Backend Overview

[](#backend-overview)

[![Backend Overview](Documentation/Images/typo3-form-to-database-backend-overview_tmb.png)](Documentation/Images/typo3-form-to-database-backend-overview_tmb.png)

- [Full Size Screenshot](Documentation/Images/typo3-form-to-database-backend-overview.png)

#### Backend Results

[](#backend-results)

[![Backend Results](Documentation/Images/typo3-form-to-database-backend-results_tmb.png)](Documentation/Images/typo3-form-to-database-backend-results_tmb.png)

- [Full Size Screenshot](Documentation/Images/typo3-form-to-database-backend-results.png)

Installation &amp; setup
------------------------

[](#installation--setup)

1. `composer req liquidlight/typo3-form-to-database` (or download from the [TYPO3 Extension Repository](https://extensions.typo3.org/extension/form_to_database))
2. Add the extension as a dependency in your site as a site set
3. Edit the form you wish to store results for
4. Add the finisher ("Save the mail to the Database") to your form - it is recommended you place this finisher first

The recommended way to install the extension is by using [Composer](https://getcomposer.org/). In your Composer based TYPO3 project root run `composer req liquidlight/typo3-form-to-database`.

### Installation from TYPO3 Extension Repository (TER)

[](#installation-from-typo3-extension-repository-ter)

Download and install the extension `form_to_database` with the extension manager module.

Setup &amp; Usage
-----------------

[](#setup--usage)

### Finisher

[](#finisher)

To start storing form results:

1. Install the extension
2. Edit the form you wish to store results for
3. Add the finisher ("Save the mail to the Database") to your form - it is recommended you place this finisher first

### Command / Scheduler

[](#command--scheduler)

It's possible to delete the form results by the command line or scheduler (Execute console commands).

```
Usage:
  form_to_database:deleteFormResults []

Arguments:
  maxAge                Maximum age of form results in days [default: 90]
```

### Options

[](#options)

There are several options available for customisation. To change these, go to **Settings** -&gt; **Configure Extensions** -&gt; **form\_to\_database**

- **General**
    - `hideLocationInList` - Should the location of the form be hidden on the Form results overview module? (Default: No)
    - `displayActiveFieldsOnly` - If true will only output active renderables in backendModule and CSV (will not display deleted renderables stored in the formDefinition) (Default: false)
- **CSV Settings**
    - `csvDelimiter` - What character should separate fields in the CSV export (Default: `,`)
    - `csvOnlyFilenameOfUploadFields` - Should the CSV list the whole path or just the file name?
    - `csvHtmlSpecialChars` - If true will encode special chars (`'` =&gt; `&quot;`, ` '12',
'format' => 'A4',
'orientation' => 'P',
'margin_left' => '15',
'margin_right' => '15',
'margin_bottom' => '15',
'margin_top' => '15',
'tempDir' => Environment::getVarPath() . '/form_to_database'

```

##### Stylesheets

[](#stylesheets)

If you wish to pass in a custom CSS stylesheet, you can do so with the following:

```
module.tx_formtodatabase_web_formtodatabaseformresults.settings.pdf.stylesheet {
  link = EXT:your_extension/Resources/Public/Css/print-form-to-database.css
  media = all
}

```

##### Letterheads

[](#letterheads)

Letterheads can add information to the top and bottom of each page, it uses [SetHTMLHeader](https://mpdf.github.io/reference/mpdf-functions/sethtmlheader.html) and [SetHTMLFooter](https://mpdf.github.io/reference/mpdf-functions/sethtmlfooter.html) directly.

This means all the mPDF variables are accessible. These can be added via TypoScript (`letterheads.header` and `letterheads.footer`). For example:

```
module.tx_formtodatabase_web_formtodatabaseformresults.settings.pdf.letterheads.footer (
  Form to Database - {PAGENO}/{nbpg}
)

```

Contribute
----------

[](#contribute)

We welcome issues and merge/pull requests. Please don't let conventions or failing tests put you off - we can always fix them once a request is submitted.

Please create an issue at .

Please follow the [TYPO3 Commit conventions](https://docs.typo3.org/m/typo3/guide-contributionworkflow/main/en-us/Appendix/CommitMessage.html) if you can when committing.

**Please use GitLab only for bug-reporting or feature-requests. For support use the [TYPO3 community channels](https://typo3.slack.com/archives/C02HWBCUF0F)**

**To run tests &amp; linting**

The extension uses a modified version of runTests.sh from [the TYPO3 core](https://docs.typo3.org/m/typo3/guide-contributionworkflow/main/en-us/Testing/Index.html).

You need [Podman](https://podman.io/) installed and running to run the tests.

- Install dependencies with TYPO3 13 and php 8.2:
    - `Build/Scripts/runTests.sh -t 13 -p 8.2 -s composer install` (-t is currently obsolete, as only v13 is supported and set as default)
- Run linter:
    - `Build/Scripts/runTests.sh -p 8.2 -s lintPhp`
    - `Build/Scripts/runTests.sh -t 13 -p 8.2 -s lintTypoScript`
- Execute functional tests:
    - `Build/Scripts/runTests.sh -p 8.2 -s functional`

See help menu for all options: `Build/Scripts/runTests.sh --help`

Commits should follow [TYPO3 Commit Guidelines](https://docs.typo3.org/m/typo3/guide-contributionworkflow/main/en-us/Appendix/CommitMessage.html#commitmessage).

Support
-------

[](#support)

If you need private or personal support, try the TYPO3 Slack channel - `#ext-form-to-database` or contact us by email on .

**Be aware that this support might not be free!**

Contributors
------------

[](#contributors)

Big thanks to the following people

- ⭐️ [Philipp Mueller](https://www.lavitto.ch) - For providing the original code &amp; extension
- Markus Hofmann
- Stig Nørgaard Færch

###  Health Score

60

—

FairBetter than 98% of packages

Maintenance75

Regular maintenance activity

Popularity36

Limited adoption so far

Community22

Small or concentrated contributor base

Maturity91

Battle-tested with a long release history

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~51 days

Recently: every ~20 days

Total

51

Last Release

21d ago

Major Versions

2.3.0 → 3.3.02026-01-26

3.3.0 → 4.4.02026-01-26

4.4.0 → 5.2.02026-01-26

3.3.1 → 5.3.02026-04-09

4.4.2 → 5.3.12026-06-12

PHP version history (4 changes)1.0.0PHP &gt;=7.1.0

2.1.1PHP &gt;=7.4.0

4.0.0PHP &gt;=8.1.0

5.0.0PHP ^8.2 || ^8.3 || ^8.4

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/23399732?v=4)[Liquid Light](/maintainers/liquidlightuk)[@liquidlightuk](https://github.com/liquidlightuk)

---

Top Contributors

[![mikestreety](https://avatars.githubusercontent.com/u/354085?v=4)](https://github.com/mikestreety "mikestreety (111 commits)")[![lavitto-private](https://avatars.githubusercontent.com/u/3296157?v=4)](https://github.com/lavitto-private "lavitto-private (85 commits)")[![stigfaerch](https://avatars.githubusercontent.com/u/6790776?v=4)](https://github.com/stigfaerch "stigfaerch (65 commits)")[![calien666](https://avatars.githubusercontent.com/u/11405116?v=4)](https://github.com/calien666 "calien666 (38 commits)")[![schliesser](https://avatars.githubusercontent.com/u/11655823?v=4)](https://github.com/schliesser "schliesser (8 commits)")[![lepetitglacon](https://avatars.githubusercontent.com/u/58629249?v=4)](https://github.com/lepetitglacon "lepetitglacon (3 commits)")[![sievert](https://avatars.githubusercontent.com/u/676572?v=4)](https://github.com/sievert "sievert (3 commits)")[![sneopu](https://avatars.githubusercontent.com/u/1940935?v=4)](https://github.com/sneopu "sneopu (2 commits)")[![bmgrieger](https://avatars.githubusercontent.com/u/55093258?v=4)](https://github.com/bmgrieger "bmgrieger (2 commits)")[![r-stolle](https://avatars.githubusercontent.com/u/64958808?v=4)](https://github.com/r-stolle "r-stolle (2 commits)")[![bmoex](https://avatars.githubusercontent.com/u/2414665?v=4)](https://github.com/bmoex "bmoex (2 commits)")[![ochorocho](https://avatars.githubusercontent.com/u/4623070?v=4)](https://github.com/ochorocho "ochorocho (2 commits)")[![dahaupt](https://avatars.githubusercontent.com/u/15915048?v=4)](https://github.com/dahaupt "dahaupt (2 commits)")[![tgriessbach](https://avatars.githubusercontent.com/u/11647324?v=4)](https://github.com/tgriessbach "tgriessbach (1 commits)")[![astanschus](https://avatars.githubusercontent.com/u/175034569?v=4)](https://github.com/astanschus "astanschus (1 commits)")[![dogawaf](https://avatars.githubusercontent.com/u/381969?v=4)](https://github.com/dogawaf "dogawaf (1 commits)")[![koehnlein](https://avatars.githubusercontent.com/u/16088567?v=4)](https://github.com/koehnlein "koehnlein (1 commits)")[![kuepper-faktor-e](https://avatars.githubusercontent.com/u/40756723?v=4)](https://github.com/kuepper-faktor-e "kuepper-faktor-e (1 commits)")[![liquidlightuk](https://avatars.githubusercontent.com/u/23399732?v=4)](https://github.com/liquidlightuk "liquidlightuk (1 commits)")[![petd2206](https://avatars.githubusercontent.com/u/110474848?v=4)](https://github.com/petd2206 "petd2206 (1 commits)")

---

Tags

typo3typo3-extensionextensionformtypo3save formtypo3 formform to database

###  Code Quality

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/liquidlight-typo3-form-to-database/health.svg)

```
[![Health](https://phpackages.com/badges/liquidlight-typo3-form-to-database/health.svg)](https://phpackages.com/packages/liquidlight-typo3-form-to-database)
```

###  Alternatives

[pagemachine/typo3-formlog

Form log for TYPO3

23238.6k8](/packages/pagemachine-typo3-formlog)[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103519.9k53](/packages/friendsoftypo3-content-blocks)[eliashaeussler/typo3-form-consent

Extension for TYPO3 CMS that adds double opt-in functionality to EXT:form

1595.5k](/packages/eliashaeussler-typo3-form-consent)[netresearch/rte-ckeditor-image

Image support in CKEditor for the TYPO3 ecosystem - by Netresearch

611.1M8](/packages/netresearch-rte-ckeditor-image)[eliashaeussler/typo3-warming

Warming - Warms up Frontend caches based on an XML sitemap. Cache warmup can be triggered via TYPO3 backend or using a console command. Supports multiple languages and custom crawler implementations.

22260.2k](/packages/eliashaeussler-typo3-warming)[web-vision/wv_deepltranslate

DeepL Translate (CORE) - This extension provides option to translate content element, and TCA record texts to DeepL supported languages.

33304.3k](/packages/web-vision-wv-deepltranslate)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
