[pmwiki-users] PmForm won't save data to page

Knut Alboldt pmwiki at alboldt.de
Mon Dec 31 08:32:28 CST 2007


I've played arrount a bit with PmForm and built a new Form up from 
scratch, now saving works.

I'm missing a bit of error-reporting, when definitions are not found by 
PmForm, so I added some abort()-Statements. I'll will publish them, when 
testing is done, hoping it will help others when starting with pmform.

Knut

Knut Alboldt schrieb:
> Hi !
> I tried to use pmform (instead of ZAP) to support form-input for some 
> datapages.
> Tried the samples, worked well.
> Extended some of the definition, now I get the problem, that the data 
> aren't written back any more.
> 
> Implemented a trace in pmform.php and found out that the call of 
> UpdatePage($pagename,$old,$new) was ok, $old contained the right old 
> data (eg var=1), $new the new data (e.g. var=2 entered via the form). 
> But having a look in tha page's file: nothing had changed, stil 
> containing "var=1". So it wasn't read by the (:input source= ..:)-markup 
> when the form was displayed the nex time.
> Second try:
> Changed "var" from "1" to "3"
> The next Trace of UpdatePage() shows the previous entered data (var=2) 
> in the $old-Array although it wasn't saved in the page-file (!) and the 
> last entered data (var=3) in the $new-array.
> But again the page's file still contains "var=1".
> Has it something to do with caching, etc ?
> 
> When I change the data in the page-file manually, the changed value is 
> taken over whith the next display of the form, that's all ok.
> 
> Could anybody please help ?
> 
> Thanks in advance, Knut
> 
> 
> 
> The pmform-Definitions are as follows:
> 
> 
> 
> test.php (group's config):
> 
> <?php
> $PmForm['testsavedata'] = 'form=#testsavedataform fmt=#testsavedata';
> ?>
> 
> 
> 
> 
> Form-Definitions in Site.PmFormTemplates
> 
> !! #testdataform
> 
> [@
> [[#testsavedataform]]
> (:input pmform target={$$target} :)
> (:XXinput default request=1 :)
> (:messages:)
> (:input default source={$FullName} :)
> (:table:)
> (:cellnr:)Selectfield:
> (:cell:)
> (:input select $:Selectfield value='Option 1' :)
> (:input select $:Selectfield value='Option 2' :)
> (:input select S:Selectfield value='Option 3' :)
> (:input select S:Selectfield value='Option 4' :)
> (:cellnr:)Textfield:
> (:cell:)
> (:input text $:Textfield size=25 :)
> (:cellnr:)Radiofield:
> (:cell:)
> (:input radio $:Radiofield yes:) Yes
> (:input radio $:Radiofield no:) No
> (:cellnr:)Checkboxfields:
> (:cell:)
> (:input checkbox $:CheckboxfieldRed 1:) Red
> (:input checkbox $:CheckboxfieldBlue 1:) Blue
> (:input checkbox $:CheckboxfieldGreen 1:) Green
> (:cellnr:)Textareafield:
> (:cell:)
> (:input textarea $:Textareafield cols=50 rows=6 :)
> (:cellnr:)
> (:cell:)(:input submit :)
> (:tableend:)
> (:input end:)
> ----
> Text outside the input form
> * Data-Source={$FullName}
> * Selectfield={$:Selectfield}
> * CheckboxfieldRed={$:CheckboxfieldRed}
> [[#testsavedataformend]]
> @]
> 
> [@
> [[#testsavedata]]
> (:template require $:Selectfield errmsg="$[Missing 'Selectfield' value]" :)
> (:template require $:Textfield errmsg="$[Missing 'textfield' value]" :)
> (:template require $:Radiofield errmsg="$[Missing 'Radiofield' value]" :)
> (:template require $:Textareafield errmsg="$[Missing 'Textareafield' 
> value]" :)
> (:template defaults 
> savevars=$:Selectfield,$:Textfield,$:Radiofield,$:CheckboxfieldRed,$:CheckboxfieldBlue,$:CheckboxfieldGreen,$:Textareafield 
> :)
> (:template defaults saveto={*$FullName} :)
> [[#testsavedataend]]
> @]
> 
> 
> 
> Test.GroupHeader:
> 
> (:if name Test.PmForm*:)
> ! PMForm-Call
> (:pmform testsavedata:)
> || border=0
> ----
> ! Test Data Output (for Trace only !)
> * Selectfield: {$:Selectfield}
> * Textfield: {$:Textfield}
> * Radiofield: {$:Radiofield}
> * Checkboxfields: Red={$:CheckboxfieldRed} Green={$:CheckboxfieldGreen} 
> Blue={$:CheckboxfieldBlue}
> * Textareafield: {$:Textareafield}
> (:if:)
> 
> 
> 
> 
> Page containg Testdata = test.PmForm01
> 
> ! saved data
> (:Selectfield:Option 3:)
> (:Textareafield:Textareavalue Line 22
> # Line 2
> # Line 3
> * Line 4
> ** Line 55:)
> (:Radiofield:yes:)
> (:Textfield:Textfieldvalue 33:)
> (:CheckboxfieldRed: 1:)
> (:CheckboxfieldBlue: :)
> (:CheckboxfieldGreen: :)
> 
> !! Additional Data
> * Additional data: {$:AdditionalField}
> 
> (:AdditionalField:Value Additional Field:)
> 
> _______________________________________________
> pmwiki-users mailing list
> pmwiki-users at pmichaud.com
> http://www.pmichaud.com/mailman/listinfo/pmwiki-users
> 
> 



More information about the pmwiki-users mailing list