Import von Internetformulardaten

A

Anstan

Mitglied
Thread Starter
Dabei seit
29.05.2005
Beiträge
31
Reaktionspunkte
0
hallo,
kann mir jemand bitte erklären, ob und wenn ja, wie man Formulardaten aus dem Internet (per Mail übermittelt) direkt in den FM importieren kann?
Danke!
 
Das geht nur im Prinzip.

In Wirklichkeit sind zB Tabellen im Internet sehr gerne vollgemüllt mit irgendwelchen Sonderzeichen, doppelten Tabs, mehrfachen Leerzeichen und ähnlichem. Das bedeutet, dass entweder dies alles auch in FileMaker drin ist mit dem Ergebnis einer Kraut- und Rübendatenbank.
Oder die Informationen aus dem Internet werden von solchen Zeichen bereinigt. Entweder Sonderprogramm dafür (gebe keine Empfehlung) oder Handarbeit mit Suchen und Ersetzen in einem Editor.
Um die Analyse einer HTML-Datei oder einer Kopie eines Textes oder einer Tabelle aus dem Internet kommt man wohl nicht herum.
 
Hallo Joachim,
hatte mir einmal ein Angebot einer Firma machen lassen: Die wollten 2500 Euro für die Einrichtung und ein Plugin, das es offensichtlich gibt.
Im Moment bekomme ich die Formulare per Mail und kopiere die Daten einzeln in die FM-Felder rüber. Das ist wohl anachronistisch. Da es sich aber nur um etwa 200-300 dieser Mails pro Jahr handelt, zahlt sich eine teure, hochprofessionelle Lösung nicht aus. Meine Frage wäre daher, ob das relativ einfach und unaufwendig für jemanden wie mich (Laienanwenderin) geht.
Danke für eine Hilfestellung.
 
Für den Hausgebrauch reicht dann vielleicht folgendes:

1.
Du kopierst ein Mail oder besser gleich mehrere in einen Texteditor. Geeignet sind Word, TextWrangler und andere. Der Vorgang ist bei kopierten HTML-Dateien derselbe.
2.
Du bereinigst die jetzt als Text vorliegende Mail so, dass hinter jeder einzelnen Mail das Absatzzeichen steht und zwischen den einzelnen Feldern das Tab-Zeichen. Das geht entweder mühselig von Hand oder durch geschicktes Anwenden der Suchen-Ersetzen Funktion halbwegs leicht. Ergebnis ist eine Textdatei, die gespeichert wird. Diese Textdatei hat zB den Aufbau: Feld1-Tab-Feld2-Tab-Feld3-Absatzmarke. Dann folgte die nächste Mail in derselben Form.
3.
Diese Textdatei in FileMaker einlesen. Zu Anfang ist es vielleicht besser, sich dafür eine neue FM Datei anzulegen.
 
Das ist aber gleich aufwendig, wie meine bisherige Kopiermethode.
Danke aber trotzdem!
 
Gleich aufwändig ist es nur bei wenigen Feldern pro Datensatz und bei wenigen Datensätzen.
Falls Du 10 Felder pro Datensatz hast und 100 Datensätze, musst Du für das feldweise Übernehmen in FileMaker 1.000 x Auswählen, Kopieren, Programm wechseln und Einsetzen.
Aber vielleicht ist es tatsächlich in Deinem Fall nicht lohnend.
 
Es wäre sicherlich nicht sehr schwer, das Formular entsprechend zu gestalten dass Du in der Mail gleich das von joachim14 beschriebene Format bekommst, oder sogar als angehängte Datei die Du direkt einlesen könntest. Hast Du die Möglichkeit, auf Deinem Webspace CGI-Scripte oder PHP zu benutzen? Wenn ja, kann ich Dir wahrscheinlich weiterhelfen.
 
Anstan schrieb:
hallo,
kann mir jemand bitte erklären, ob und wenn ja, wie man Formulardaten aus dem Internet (per Mail übermittelt) direkt in den FM importieren kann?
Danke!

ich glaube BBEdit "entkernt" html von hause aus. der rest ist "suchen und ersetzen" mittels applescript. geht schnell.

hab grad noch ein stückchen script gefunden :)

tell application "BBEdit"
activate
set MyOption to {search mode:literal, starting at top:true, wrap around:false, backwards:false, case sensitive:false, match words:false, extend selection:false}
translate html to text with entity conversion and selection only

end tell

danach testest du, ob doppelte tabs und spaces vorhanden sind, die gelöscht werden und schon hast du ein (fast) sauberes formular.

bye
 
Falls gewisse FileMaker Kenntnisse vorhanden sind, kann man auch folgendermaßen vorgehen:

Ein eMail Plugin für FileMaker erwerben, die eMails direkt in FileMaker einlesen (die Textlänge darf natürlich die Obergrenze von 64.000 Zeichen von FileMaker nicht überschreiten) und dann den Text nach Wunsch weiterbearbeiten.

Ein entsprechendes Plugin (POP3it) gibt es für 55,- Dollar bei cnsplugins.com unter http://www.cnsplugins.com/products.htm?product=POP3it
Die bieten auch Demoversionen an, damit man das Ganze vor dem Kauf testen kann.
 
dannycool schrieb:
Es wäre sicherlich nicht sehr schwer, das Formular entsprechend zu gestalten dass Du in der Mail gleich das von joachim14 beschriebene Format bekommst, oder sogar als angehängte Datei die Du direkt einlesen könntest. Hast Du die Möglichkeit, auf Deinem Webspace CGI-Scripte oder PHP zu benutzen? Wenn ja, kann ich Dir wahrscheinlich weiterhelfen.

ja, ich kann auf meinem Webspace CGI-Scripte (und PHP) benützen.
Wenn Du mir eine Lösung vorschlagen kannst, wäre ich Dir dankbar.
Ciao
 
ThoRo schrieb:
Falls gewisse FileMaker Kenntnisse vorhanden sind, kann man auch folgendermaßen vorgehen:

Ein eMail Plugin für FileMaker erwerben, die eMails direkt in FileMaker einlesen (die Textlänge darf natürlich die Obergrenze von 64.000 Zeichen von FileMaker nicht überschreiten) und dann den Text nach Wunsch weiterbearbeiten.

Ein entsprechendes Plugin (POP3it) gibt es für 55,- Dollar bei cnsplugins.com unter http://www.cnsplugins.com/products.htm?product=POP3it
Die bieten auch Demoversionen an, damit man das Ganze vor dem Kauf testen kann.
Danke, werde es ausprobieren!
 
Die sauberste Lösung wäre,

wenn Deine DB permanent mit dem Internet verbunden wäre - das ist natürlich mit Kosten verbunden, z.B. FM-Server-Lösung.

Es gibt auch kostenlose DB-programme für das Internet, jedoch Einarbeitung wäre unumgänglich.
 
Außerdem gibt es da noch etwas, das heißt XML.
 
Sorry, ich war körperlich abwesend. Hier ist ein Beispiel in PHP, wie man die Formulardaten so wie in dem Thread irgendwo erwähnt formatiert mailen könnte:

Code:
<?php
#
# Formulardaten als Attachment senden
#

# Festlegen der Empfaengeradresse
$to = "df@erinye.com";

# Festlegen der interessanten Formularfelder und deren Reihenfolge
$fields = array("feld1", "feld2", "feld3");

?>
<html>
<head>
<title>Formular</title>
</head>
<body>
<?php

if(!isset($_POST["send"])) {
	# Hier wird ein HTML-Formular erzeugt, falls keine Daten uebergeben wurden.
	# Es kann natuerlich auch jedes andere, selbstgemachte HTML-Formular mit diesem
	# Script benutzt werden, ohne dass an dieser Stelle etwas geaendert werden muesste.
	?>
	<form method="POST" action="<?=$_SERVER['PHP_SELF'];?>">
	<?php
		foreach($fields as $f) {
			echo "$f: <input type=\"text\" name=\"$f\" /><br />";
		}
	?>
	<input type="submit" name="send" value="" />
	</form>
	<?php
} else {
	# Hier wird die E-Mail zusammengefuddelt.
	$plaintext = "";
	$data = "";
	foreach($fields as $k) {
		$d = strtr($_POST[$k], "\t\r\n", "   ");
		if(strlen($data) > 0) {
			$data .= "\t";
		}
		$data .= $d;
		$plaintext .= "$k: $d\r\n";
	}

	$boundary = "FORM-MAIL-" . getmypid() . "-" . time();
	$msg = "Diese E-Mail sollte mit einem MIME-faehigen Client gelesen werden.\r\n\r\n";
	$msg .= "--$boundary\r\nContent-Type: text/plain; charset=\"iso-8859-1\"\r\nContent-Transfer-Encoding: 7bit\r\n\r\n";
	$msg .= "Das Formular wurde wie folgt ausgefuellt:\r\n\r\n";
	$msg .= $plaintext;
	$msg .= "\r\n\r\nIm Folgenden stehen die Inhalte der Felder durch TAB getrennt:\r\n\r\n";
	$msg .= $data;
	$msg .= "\r\n\r\nDas Attachment enthaelt die selben Daten.\r\n";
	$msg .= "\r\n\r\n--$boundary\r\nContent-Type: application/octet-stream; name=\"formular.txt\"\r\nContent-Transfer-Encoding: base64\r\nContent-Description: \"Formulardaten\"\r\n\r\n";
	$msg .= base64_encode($data);
	$msg .= "\r\n--$boundary--\r\n";

	if(mail($to, "Formular", $msg, "MIME-Version: 1.0\nContent-Type: multipart/mixed; boundary=\"$boundary\";\nContent-Transfer-Encoding: 7bit")) {
		# Zwischen den beiden Tag-Teilen mit den lustigen Fragezeichen steht der HTML-Code, der angezeigt wird,
		# wenn die Nachricht wie vorgesehen versandt werden konnte. Das ist ganz normaler HTML-Code, der angepasst werden kann.
		?>
			<center>
			Vielen Dank. Ihre Nachricht wurde versandt.
			</center>
		<?php
	} else {
		# Hier nochmal das selbe, falls die Nachricht aus irgendeinem Grund nicht versandt werden konnte.
		?>
			<center>
			Leider ist ein Fehler aufgetreten.
			</center>
		<?php
	}
}

?>
</body>
</html>
 
Danke für die Hilfestellungen. Ehrlich gesagt, übersteigt das alles meine Kenntnisse und Fähigkeiten! Aber macht nichts ...
 
Wenn Du mir genau sagst wie Dein Formular aussieht kann ich das PHP anpassen. Kommt halt drauf an wie dringend das ist, ich komme letztens nicht oft dazu, hier reinzuschauen.
 
Sorry, dass ich nicht eher reagiert habe - war nicht da.
Danke für Dein sehr freundliches Angebot. Habe aber inzwischen jemanden gebeten, das für mich zu machen. Hoffe es gelingt.
 
Zurück
Oben Unten