Summary: Form processing engine for PmWiki
Version: 20210522
Prerequisites: pmwiki-2.2.56
Status: Development
Maintainer: Petko
Categories: Forms PHP55 PHP72
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.

  • 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.