Post-Daten aus einem PHP-Formular, um eine FileMaker-Datenbank, die auf FileMaker pro 12 server
Ok also hier ist die Herausforderung. Ich habe eine File maker Datenbank auf einem Filemaker 12 server gehostet auf einem windows-Rechner. Ich habe auch ein PHP-Formular gehostet auf einer Linux-box. Wie bekomme ich die Daten aus dem PHP-Formular, um in der Filemaker Datenbank? Hier ist was ich versucht habe.
<?php
define('fm_host', '131.181.###.###');
define('fm_file', 'name of the db');
define('fm_user', 'user');
define('fm_pass', 'password');
$layout_name = 'Request';
$respondent_data = array("stuff","stuff","stuff","stuff","stuff");
require_once ('FileMaker.php');
$fm = new FileMaker(fm_file, fm_host, fm_user, fm_pass);
if(FileMaker::isError($fm)){
die('Error - ' . $fm->getCode() . ' ' . $fm->getMessage());
}
$newAdd =& $fm->newAddCommand('Request', $respondent_data);
$result = $newAdd->execute();
?>
Abgeschlossen mit Fehler, doch wenn ich gehe, Sie Filemaker pro und öffnen Sie die Kopie der Datenbank, die ich herunterladen form der server mit der Filemaker admin console gibt es keinen neuen Rekord. Ich habe entpackt die standalone Filemaker PHP-API in das gleiche Verzeichnis wie das Formular, und es schafft, zu verwenden Filemaker.php Funktionen. Also ich bin verwirrt, warum es ist zumindest kein Fehler geworfen. Aber in diesem Stadium des Projekts ist mir egal, ich will nur die Daten in die Datenbank, mit allen Mitteln! Jeder hack wird tun, wie der Umfang des Projekts endet mit den Daten in der Datenbank.
Seite Anmerkungen: ich habe versucht, ODBC, access-DB und als manuelle import mit file maker pro, aber PHP installiert auf dem Linux-server fehlt eine com-Klasse in der php.ini-Datei und ich habe keinen Zugriff, dies zu ändern.
Habe ich auch die gleiche Sache mit XML aber ich bin nicht bis zu Geschwindigkeit, mit es. Aber wie ein betrunken um 4 Uhr, ich bin bereit, es zu versuchen.
Vielen Dank im Voraus!
- Also versuchte ich Print $Ergebnis; und er kehrte Datei kann nicht geöffnet werden. Also gehe ich davon aus, dass es vielleicht etwas zu tun mit Datei Berechtigungen auf die FMDB server Obwohl ich nicht sicher bin, auf welcher Stufe der Authentifizierung fehlschlägt. Es findet den server überhaupt? Hat es sich gefunden, die genaue Datei, aber kann Sie nicht einfach öffnen?
- Wo genau Sie dieses bekommen: "FileMaker.php" ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie die Karte Feldnamen auf die Werte im array $respondent_data. Einfache key=>Wert Programmierstil.
Können Sie auch angeben, Feld für Feld, wenn Sie möchten, wie diese
Gibt es keine Notwendigkeit, rufen Sie die FileMaker::IsError-Methode vor dem Aufruf von $fm->execute(). Das ist, wenn Sie verwendet PHP cURL Abfrage WPE in FileMaker Server. Sie erhalten entweder eine FoundSet-Objekt oder Fehler-Objekt zurückgegeben. ISTFEHLER ist ein einfacher Weg, um zu sehen, ob WPE einen Fehler zurückgegeben, eine Gruppe von Datensätzen.
Weitere Infos
http://www.filemaker.com/support/product/docs/12/fms/fms12_cwp_php_en.pdf
Erste, FileMaker, die sich selbst empfehlen, dass Sie verwenden eine 3rd-party-Datenbank mit Externe SQL-Quellen beim erstellen von web-apps. Dies ist der einzige Weg, um eine gute Leistung, wenn Sie gehen, um mehr als ein paar user schlagen es auf einmal.
Dies würde es ermöglichen Ihnen den Aufbau Ihres web-Anwendungen mit MySQL -, Access-oder was auch immer, und dann Haken, die Datenbank zu FileMaker, so dass die Tabellen zeigen, wie andere FM-Tabellen. Dann können Sie erstellen layouts, scripts, Berechnungen, etc. innerhalb der FM mit den Daten aus der 3rd-party-Datenbank-so wie es war, die tatsächliche FM-Daten.
Wenn Sie wollen stick mit der PHP-API müssen Sie sicherstellen, dass die Datei tatsächlich auf dem server ausgeführt wird und Sie einfach öffnen Sie es mit Pro. Ich bin ein wenig verwirrt, wie Sie sagten, Sie herunterladen und es laufen in der Pro..?? Sie nicht, laden Sie es...Sie einfach öffnen Sie es aus dem remote-server.
Dann müssen Sie sicherstellen, dass die Datei die PHP-API aktiviert für den Benutzer, den Sie anschließen mit der über die Sicherheits-Einstellungen im FM. Ich empfehle einen Benutzer zu erstellen, die auf Ihre spezielle web-apps, und geben Sie ihm nichts, aber die PHP-API-Zugriff.
Dann, wenn Sie sich verbinden, bilden Sie Ihre web-apps mit, dass Nutzer, sollten Sie gut zu gehen.