Summary: Form processing engine for PmWiki
Version: 20221123
Prerequisites: pmwiki-2.2.56
Status: Development
Maintainer: Petko
Categories: Forms PHP55 PHP72 PHP82
Discussion: PmForm-Talk
Users: +5 (View / Edit)
License: GPL2+

Questions answered by this recipe

  • How can I create a form in PmWiki to send mail?


The pmform.zipΔ module provides a variety of forms processing capabilities. The module is still under development.

Documentation and examples for PmForm are being performed in a separate wiki group at PmForm. Some key pages:


PmForm blocks directives from data being saved to pages by converting markups: thus "(:" becomes "( :" and ":)" becomes ": )". These are managed by the $PmFormPostPatterns array.

The (:template require:) directive can be used to prevent certain string combinations from appearing in posted fields. For example, to prevent someone from entering link markups, use:

   (:template require text match=-[[ errmsg="links not allowed":)

which says that the 'text' field must not contain "[[".

Release Notes

The recipe requires pmwiki-2.2.56 or later.

  • 20221123 - updates for PHP 8.2.
  • 20221104 - remove PHSC() definition (already exists in 2.2.56).
  • 20221031 - fix for PHP 8.2.
  • 20221024 - Add $PmFormMailFn (default "mail"), add where=above#anchor, where=below#anchor, update for PHP 8.2.
  • 20210522 - update recipe for PHP 8 compatibility (warning reported by Dfaure).
  • 20180906 - update recipe for PHP 7.2 compatibility.
  • 20140212 - add $EnablePmFormUpdateReverse.
  • 20140103 - update recipe for PHP 5.5 compatibility.
  • 20140101 - update recipe for PHP 5.5 compatibility.
  • 20130413 - replace htmlspecialchars() with PHSC() for better PHP5.4 compatibility; update change summary if a 'csum' form field is posted.
  • 20120901 - fixed typo.
  • 20110216 - added variable $EnablePmFormMailSubjectEncode (PITS:01238).
  • 20100904 - added $PmFormExitFunction, $PmFormRedirectFunction (PITS:01179), fixed carriage returns (PITS:01175).

See Also



Your comments are welcome.

User notes +5: If you use, used or reviewed this recipe, you can add your name. These statistics appear in the Cookbook listings and will help newcomers browsing through the wiki.