[FX.php List] Creating new portal record via form

Michael Layne fx at 9degrees.com
Tue Aug 23 06:56:26 MDT 2005


While we're on the subject of creating records through portals OR  
additional queries, is one way better than the other, and if so why?   
I often use 2 -3, even 4 queries to enter data and get data in one  
PHP page.

Anyone got a solid opinion?  I actually get great performance writing  
to multiple tables(layouts), even looping through $_POSTs.

Thanks,

Michael

On Aug 19, 2005, at 11:27 AM, Marisa Smith wrote:

>
> Chris - thank you for your explanation of this.  I hope to have  
> time to try
> this next week.  I have a workaround in place for now that avoids  
> using a
> portal by entering data through a second query that creates new  
> records in
> the related table.
>
> Marisa
>
> On 08/17/2005 12:45 PM, "Chris Hansen" <chris at iViking.org> wrote:
>
>
>> Marisa,
>>
>> Yes, PHP will replace periods with underscores as they come in via a
>> form.  At least, I'm pretty sure it's PHP.  There are a number of  
>> ways
>> that you could handle this:
>>
>> 1) Add a PHP array to the top of your processing page that sets up a
>> one-to-one correlation between the names of form fields and database
>> fields.  This would also allow you to hide information about your DB
>> from people who view the pages' source.  Not a bad idea.  This would
>> look something like this:
>>
>> $translationArray = new array('field1_0' => 'FM_Field_1.0',  
>> 'field2_0'
>> => 'FM_Field_2.0');
>>
>> 2) Use a specific pattern which wouldn't normally appear in a field
>> name any place that you want a '.' to appear on the FileMaker side,
>> then do a replace (I'm using three underscores in a row, in my
>> example):
>>
>> $mod_main->AddDBParam(str_replace('___', '.', $key), $value);
>>
>> There are other ways that you could handle this, too.  That said,
>> whatever you do, I'd suggest changing the names of the fields on the
>> form side.  Although PHP does appear to change '.' to '_' very
>> consistently in form element names, it's generally unwise to base  
>> code
>> on this sort of behavior.  By changing the field names, you ensure  
>> that
>> you're in control of what is sent.
>>
>> HTH
>>
>> --Chris Hansen
>>    creator of FX.php
>>    "The best way from FileMaker to the Web."
>>    www.iViking.org
>>
>> On Aug 12, 2005, at 3:36 AM, Marisa Smith wrote:
>>
>>
>>> I'm trying to add data to a portal using a form.  In order to do  
>>> this,
>>> I
>>> have put a form field on my page:
>>>
>>> <input type="text" name="pledge_designations::agencyid.0" value="">
>>>
>>> When I look at the URL passed in the request, a "_0" has been
>>> substituted
>>> for the ".0" before the portal row number, which makes the request
>>> invalid:
>>>
>>> http://username:password@192.168.0.3:80/fmi/xml/FMPXMLRESULT.xml?-
>>> db=unitedw
>>> ay.fp7&-lay=pledges&-max=50&action=edit&screen=3&-
>>> recid=&plat=pledges&pledge
>>> _designations::agencyid_0=3&-edit
>>>
>>> Any idea why this is happening?
>>>
>>> Here's the code I am using to perform the record edit:
>>>
>>>     $mod_main = new FX($serverIP, $webCompanionPort,  
>>> $dataServerType);
>>>     $mod_main->FMUseCURL(false);
>>>     $mod_main->SetDBData($_SESSION['db_filename'], $layout);
>>>     $mod_main->SetDBPassword($password,$DBUser=$user);
>>>     //loop through POST vars and add them to the edit query
>>>
>>>     foreach ($_POST as $key => $value)
>>>         {
>>>
>>>         $mod_main->AddDBParam($key,$value);
>>>         }
>>>          $a_result=$mod_main->FMEdit();
>>>
>>>
>>> I have tried printing out the $_POST variables before they are
>>> submitted and
>>> the substitution appears to happen before they hit FX, but I cannot
>>> find
>>> anything on Google to help me figure out why this is happening.
>>>
>>> I am using FMSA7v3 and PhP 4.3.6 on OS 10.3
>>>
>>> -------------------------------------------------------------------- 
>>> -
>>> Marisa Smith, President
>>> DataSmith Consulting, LLC
>>> 9206 Huron River Drive
>>> Dexter, MI 48130
>>> Phone & Fax: (734) 426-8077
>>> Cell: (734) 834-2638
>>> http://www.datasmithconsulting.net
>>> Filemaker Solutions Alliance Associate Member
>>>
>>>
>>> _______________________________________________
>>> FX.php_List mailing list
>>> FX.php_List at mail.iviking.org
>>> http://www.iviking.org/mailman/listinfo/fx.php_list
>>>
>>>
>>
>> _______________________________________________
>> FX.php_List mailing list
>> FX.php_List at mail.iviking.org
>> http://www.iviking.org/mailman/listinfo/fx.php_list
>>
>>
>>
>
> ---------------------------------------------------------------------
> Marisa Smith, President
> DataSmith Consulting, LLC
> 9206 Huron River Drive
> Dexter, MI 48130
> Phone & Fax: (734) 426-8077
> Cell: (734) 834-2638
> http://www.datasmithconsulting.net
> Filemaker Solutions Alliance Associate Member
>
>
> _______________________________________________
> FX.php_List mailing list
> FX.php_List at mail.iviking.org
> http://www.iviking.org/mailman/listinfo/fx.php_list
>



More information about the FX.php_List mailing list