[pmwiki-users] Help! :-( Form Data Being Posted 2-3 times

The Editor editor at fast.st
Mon Aug 6 10:51:05 CDT 2007


On 8/6/07, Ben Stallings <ben at interdependentweb.com> wrote:
> Sivakatirswami wrote:
> > I have a ZAP form. very simple. it posts  5 short strings of text to
> > PTV's onto
> > a new page...(a To Do form) that's all...the Group.Name of the new page
> > are dynamically generated from the text string of the group from
> > which the TODO was submitted and the $name of the new page
> > is a thread number 4-digit integer
> >
> > It is site wide in the Site.AllGroupsFooter and after upgrading to
> > 2.2.0-beta-62, on a single submit, the post "operation" is being run twice.
> > We get two identical new pages with the same data.
> >
> > Further more, where  previously the page from which the data was posted
> > would  update immediately and return a page list with the newly created
> > page which would automatically appear "runtime" at the top of the page inthe
> > Site.PageTopMenu, The page is now, no longer being updated. If I try to reload at this
> > point by clicking "reload"  PMwiki beta 62 seems to have "cached"
> > the Post "directive" andI get the screen:
> >
> > "Confirm: The page you are trying to view contains POSTDATA that has
> > expired from Cache. if you resend the data, any action the form carried
> >   out (such as a search or online purchase) will be repeated. To resend
> > the data, click OK. Otherwise, click Cancel"
> >
> > If I click OK it get yet a third instance of the new page...
> >
> > TODO-Donations.1000
> > TODO-Donations.1001  # these two created initially on first, single, submit
> > TODO-Donations.1002 # created on attempt to reload the page.
>
> I'm just guessing here, but I think you're getting two posts the first
> time because, if I understand what you're saying, you're using (:zap
> nextpage:) to redirect to another page which also has the same ZAP form
> on it, thanks to your Site.AllGroupsFooter.  So the ZAP instructions are
> being processed both before and after the redirection.  If this is the
> case, one solution is to put (:nogroupfooter:) (or whatever the
> equivalent is for AllGroupsFooter) on the page you're redirecting to.
> Another solution is to have the form submit its contents to the page
> where you want people to end up (:zapform action=Target.Page:) instead
> of submitting to the current page and then redirecting.  (Use (:zap
> datapage:) to indicate where the data should be stored.)  Either way,
> you want to make sure the ZAP instructions only get processed once
> instead of twice!
>
> This same problem may also be preventing the redirected page from
> loading correctly because it's trying to redirect to itself!  So if you
> fix that, the page may go back to loading correctly.
>
> However, it certainly may be the case that beta 62 is caching
> differently from previous versions.  You might try enabling IMS caching
> and see if that helps, but I suspect your problem is with the ZAP form
> and not with PmWiki.
>
> Hope this helps!  --Ben S.


This is a possibility, Sivaka, though I never had anything quite like
this happen to me. Have you tried reverting to a slightly earlier
version of PmWiki and see if the problem disappears? If so, you know
it is the upgrade.

Another likely culprit is having two zap forms on the same page (even
if separated by conditionals) when you don't have a separate KEY
assigned to both forms. See the ZAPsite docs on multiple forms in one
page. If you have two datapage and savedata lines, they could be being
triggered twice even though in the markup they look like they are in
different forms. It is a limitation in how ZAP and PmWiki work
together.

Cheers,
Dan



More information about the pmwiki-users mailing list