[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