[ic] form profile and &fatal=yes

Dan Bergan dan at berganconsulting.com
Thu Aug 24 21:24:45 EDT 2006


Mark Johnson wrote:
> Dan Bergan wrote:
>   
>> I am trying to use a form profile for my new_account page.  I've been
>> able to determine that my form profile is being processed, but the
>> account is being created even when a value fails the required checks.
>>
>> For a simple example, I am using indirect login, but when I enter an
>> invalid email address, the account still gets created.  Am I wrong in
>> thinking that "&fatal=yes" should cause the rest of the profile to not
>> be processed?  Also, I see a very similar question from last month with
>> no resolution:
>> http://www.icdevgroup.org/pipermail/interchange-users/2006-July/045801.html
>>
>> profiles.login:
>> __NAME__ NewAccount
>>
>> mv_username=email
>> &fatal=yes
>>
>> [if type=explicit compare="[userdb new_account]"]
>>    mv_nextpage=[either][cgi mv_successpage][or][cgi mv_nextpage][/either]
>> [else]
>>    mv_nextpage=[either][cgi mv_failpage][or][cgi mv_nextpage][/either]
>> [/else]
>> [/if]
>>
>> __END__
>>     
>
> Order of operations is gettin' ya.
>
> All your ITL interpolates before the profile checks ever start. That
> means [userdb new_account] fires up before you ever check the value of
> mv_username with the email check.
>
> You will likely need to split this into two operations. Use
> mv_form_profile to do your profile checks first, and then put the
> account creation code inside an mv_click. With &fatal in a
> mv_form_profile, for a failed profile, the mv_click code will never execute.
>
> You could, in fact, cut that one profile right between &fatal and the
> [if ...] line, putting the top part in the mv_form_profile, and the
> bottom part in the mv_click, and that would be logically the proper
> division.
>
>   
Mark,

Thank you!  So simple!

One more question -- you say the mv_click code will never execute (with 
&fatal and a failure)... how about mv_check?

Thanks,
Dan



More information about the interchange-users mailing list