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

Dale Bengston dbengston at preservationstudio.com
Tue Aug 23 13:39:56 MDT 2005


Hi Michael,

Likewise, I prefer multiple queries. I do not use portals in web  
solutions.

Dale

On Aug 23, 2005, at 7:56 AM, Michael Layne wrote:

> 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
>>
>>
>
> _______________________________________________
> 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