2013

Jun

5

Av

I del 2 av vår serie om webbpublicering med FileMaker berättade jag om hur man kan publicera information från FileMaker till en webbplats. Den här delen handlar om andra hållet, dvs. hur kan information komma från en webbplats till en FileMaker-databas.

Det finns såklart flera alternativ beroende på förutsättningar, behov och datamängd. Om du har en webbsajt i WordPress eller annat CMS, och vill ta emot intresseanmälningar, förfrågningar mm kan du göra ett formulär som skickar epost till dig. I epostmeddelandet får du antagligen innehållet uppdelat efter respektive fält i formuläret.

Ett enkelt sätt är att kopiera och klistra fält för fält till FileMaker-databasen, ett lite mer avancerat att kopiera och klistra in hela meddelandetexten i ett FIleMaker-fält och sedan använda en beräkningsfunktion som t.ex.GetTextBetween för att automatiskt dela upp informationen i respektive fält.

Du kan också skicka epost-meddelanden från formuläret till FileMaker direkt, du läser sedan eposten med en plugin (t.ex. Mailit) eller med PHP.

Om det är mycket information som ska hämtas från webbsajten kan du importera den som XML, eller använda manussteget Infoga från URL, läs t.ex. här eller här. Det kräver förstås att webbsajten är förberedd för att exportera information på ett sätt som FileMaker kan importera. Exempel på information som kan hämtas med import är nya order från en e-handelssajt, anmälningar till nyhetsbrev etc. Om du sparar informationen i en SQL-databas på webbsajten kan du också importera med hjälp av en ODBC-koppling, om nu webb-hotellet tillåter det.

Ibland finns det behov av att en webbsajt kommunicerar direkt med en FileMaker-databas. Databasen måste finnas på en FIleMaker Server som är tillgänglig från internet, antingen du har en egen eller databasen finns på ett server-hotell.

Ett sätt är att göra FileMaker Server till en s.k. REST-server som kan ta emot och behandla web service-anrop. En REST-server görs med en webbplats och något PHP-ramverk som CodeIgniter eller ännu enklare Slim Framework.

Används Slim Framework kan PHP-koden för att returnera en post i JSON-format från FileMaker se ut så här:

$app->get("/kund/:id", function ($id) use ($app) {
   $app->response()->header("Content-Type", "application/json");
   $fm = new FileMakerlib ($data);
   echo $json_encode ($fm->query('Kunder')->where(array('Kundnr' => $id))->execute());
});

(Koden är schematisk och fungerar inte direkt.)

Skriv en kommentar

  • (will not be published)
  • nine + 1 =

Läs också: