Daten speichern aus Formularfeldern ohne Datenbank

Diskutiere Daten speichern aus Formularfeldern ohne Datenbank im HTML Forum im Bereich Programmierung; Hallo, habe bisher mit Websiteprorgammierung nichts am Hut gehabt und dazu habe ich eine Frage: Ich möchte mir eine Bestell-html Datei...
  • Daten speichern aus Formularfeldern ohne Datenbank Beitrag #1
M
mn66386
Member
Beiträge
7
Punkte Reaktionen
0
Hallo,

habe bisher mit Websiteprorgammierung nichts am Hut gehabt und dazu habe ich eine Frage:

Ich möchte mir eine Bestell-html Datei erstellen, deren Inhalt dann automatisch per mailto an das Standardemailprogramm übergibt.
Was auch schon soweit vorhanden ist und funktioniert.

Welche Möglichkeit habe ich, dass die eingebenen Daten in den Formularfeldern unter einen Datensatznamen gespeichert werden können ohne eine externe Datenbank anzubinden.

Könnte mir z.B. vorstellen, dass ich eine bestell-html datei habe und dann noch eine daten.txt/csv/xls oder ähnl. Datei im gleichen Ordner, in der die Daten gespeichert werden.

Gibt es dazu eine Möglichkeit?

Hintergrund:
Soll für Email Bestellungen von Hotelzimmern genutzt werden, so dass die Erfassung schnell geht und auch immer die gleichen Präferenzen wieder geladen/aufgerufen werden können.
(Die Email geht natürlich nicht an die Hotels sondern an unsere Zentrale, die die Hotels dann selbst bestellt)

Die Bestell-html Datei hat dabei nur ein paar Felder:

Ortsname, der als eindeutigen index genutzt wird, über dem der Datensatz gespeichert und geladen werden kann.
Anreisedatum, Anreisezeit, Abreisedatum, Abreisezeit, 1 Text/Memo Felde und 1 Ja/nein Feld
mehr nicht.

Welche Möglichkeiten gibt es?

Im Voraus schon einmal vielen herzlichen Dank

Gruß
Marc
 
  • Daten speichern aus Formularfeldern ohne Datenbank Beitrag #3
N
Nitrosamin
New member
Beiträge
3
Punkte Reaktionen
0
Natürlich kann man eine Datenbank auch ohne eine Datenbank aufbauen. In txt-Dateien zum Bleistift.
Aber wie @scatello schon schrieb: Nur mit HTML geht das nicht.
Ich hätte dir gerne einen Link geschickt, geht aber noch nicht. Bin zu neu in diesem Forum.
 
  • Daten speichern aus Formularfeldern ohne Datenbank Beitrag #4
M
mn66386
Member
Beiträge
7
Punkte Reaktionen
0
Danke für die Antworten.

Das ist ja dann das gleiche Problem, dass ich für PHP Scripte einen Server nutzen müsste.
Es soll ja gerade ohne Server laufen.

Also auf dem Endgerät nur das Formular in einer HTML-Datei oder ähnl. die durch den Browser lokal geöffnet wird und die Datendatei ebenfalls lokal ohne Server.
 
  • Daten speichern aus Formularfeldern ohne Datenbank Beitrag #6
S
Sempervivum
Well-known member
Beiträge
760
Punkte Reaktionen
125
Wenn Du das rein lokal machen willst, hat das die Konsequenz, dass die Daten nur für dich verfügbar sind und nicht für andere Benutzer. Aber ich nehme an, Du willst das nur für den eigenen Gebrauch und es ist kein Problem?

Wenn Du die Daten lokal in einer Datei speichern willst, müsstest Du Javascript verwenden und dabei gibt es ein Problem: Aus Sicherheitsgründen geht das nur in Interaktion, d. h. Du müsstest jedes Mal die Datei über den Dateibrowser laden und speichern. Aber dafür gibt es eine Lösung: Du speicherst die Daten im Localstorage oder in der Indexed DB deines Browsers. Localstorage wenn die Daten überschaubar sind und Indexed DB wenn umfangreicher und komplexer.

Ein ganz anderer Ansatz: Benutze eine Skriptsprache wie Python, damit hast Du problemlos Zugriff auf lokale Dateien und auch für das Snden von Emails gibt es Erweiterungen. Und kannst alternativ eine SQLite-Datenbank verwenden.
 
  • Daten speichern aus Formularfeldern ohne Datenbank Beitrag #7
M
mn66386
Member
Beiträge
7
Punkte Reaktionen
0
Wenn Du das rein lokal machen willst, hat das die Konsequenz, dass die Daten nur für dich verfügbar sind und nicht für andere Benutzer. Aber ich nehme an, Du willst das nur für den eigenen Gebrauch und es ist kein Problem?

Wenn Du die Daten lokal in einer Datei speichern willst, müsstest Du Javascript verwenden und dabei gibt es ein Problem: Aus Sicherheitsgründen geht das nur in Interaktion, d. h. Du müsstest jedes Mal die Datei über den Dateibrowser laden und speichern. Aber dafür gibt es eine Lösung: Du speicherst die Daten im Localstorage oder in der Indexed DB deines Browsers. Localstorage wenn die Daten überschaubar sind und Indexed DB wenn umfangreicher und komplexer.

Ein ganz anderer Ansatz: Benutze eine Skriptsprache wie Python, damit hast Du problemlos Zugriff auf lokale Dateien und auch für das Snden von Emails gibt es Erweiterungen. Und kannst alternativ eine SQLite-Datenbank verwenden.
Danke für die Info.

Ja, es soll nur für den aktuellen Nutzer sein, die Daten sollen auch nur auf dem Endgerät gespeichert bleiben.
So dass man z.B. das Formular in einer Datei und die Daten in einer zweiten Datei oder evtl. auch für jeden Datensatz eine eigene Datei hat, die sich alle im gleichen Ordner befinden, und einfach kopiert werden können.

Werde mich dann mal in Python etwas einlesen und hoffen, dass ich da was finde.

Allerdings muss es möglich sein, dass mailto verwendet werden kann, da auf den Endgeräten Outlook als Standardemailprogramm unter Android installiert ist und darüber der Emailversand dann läuft.
 
  • Daten speichern aus Formularfeldern ohne Datenbank Beitrag #8
S
Sempervivum
Well-known member
Beiträge
760
Punkte Reaktionen
125
Also doch nicht nur für dich selbst sondern auch für andere Benutzer? Dann würde eine Lösung mit Python ausscheiden, weil es nicht standardmäßig installiert ist.
Da Du weißt, dass Outlook das Standard-Emailprogramm ist, vermute ich, dass sich das firmenintern abspielt?
 
  • Daten speichern aus Formularfeldern ohne Datenbank Beitrag #9
M
mn66386
Member
Beiträge
7
Punkte Reaktionen
0
Nee, das ist nur für mich und evtl. auch Kollegen die dann die gleiche Dateien nutzen, aber jeder seine eigene Daten und auch jeweils nur Lokal auf dem eigenen Androidhandy.

Hintergrund:
Es soll einfach nur eine einfache Möglichkeit sein, einfach und schnell eine Email mit den Daten, die sich häufig wiederholen zu senden, ohne alles immer manuell zu tippen oder umständlich in Outlook zu tippen.

Hatte das auch schon fertig als Excel Datei mit einem VB-Script, allerdings unterstützt die Android Excel Version keine ActiveX-Steuerelemente.

Leider sind die Androidhandys vom Arbeitgeber für weitere Apps gesperrt, so dass ich nur die Standardsoftware dazu nutzen kann.
Deshalb dachte ich, ich bastele mir eine HTML Datei mit einem Formular mit den benötigten Feldern und kann dann durch die Mailto-Anweisung das in Outlook übergeben.
Das funktioniert ja auch schon, nur suche ich die Lösung jetzt, wie ich die ausgefüllten Felder lokal speichern kann um die dann wieder später aufzurufen.

Anbei mal ein erster Entwurf mit nur ein paar Felder:
Und hier bräuchte ich die einfachste Möglichkeit, dass der Inhalt der Felder irgendwie lokal gespeichert und auch bei Bedarf wieder aufgerufen werden kann. Gerade, da der Text im Feld Hotelwunsch immer sehr umfangreich ist (Liste von Hotels die gebucht/gewünscht werden dürfen und auch eine Auflistung die nicht gewünscht werden).

#####################
<!DOCTYPE html>
<html>
<head>
<title>Hotelbestellung</title>
</head>
<body>
<form id="contact-form">
<label for="Ort">Ort:</label><br>
<input type="text" id="Ort" name="Ort"><br><br>
<label for="Anreisedatum">Anreisedatum:</label>
<input type="date" id="Anreisedatum" name="Anreisedatum">_<span id="weekday"></span><br>
<script>
const dateInput = document.getElementById('Anreisedatum');
const weekdaySpan = document.getElementById('weekday');
dateInput.addEventListener('change', function() {
if (this.value) {
const selectedDate = new Date(this.value);
const days = ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'];
const dayOfWeek = days[selectedDate.getDay()];
weekdaySpan.textContent = dayOfWeek;
} else {
weekdaySpan.textContent = '';
}
});
</script>
<label for="Anreisezeit">Anreisezeit:</label>
<input type="time" id="Anreisezeit" name="Anreisezeit"><br><br><br>
<label for="Abreisedatum">Abreisedatum:</label>
<input type="date" id="Abreisedatum" name="Abreisedatum">_<span id="weekdayabreise"></span><br>
<script>
const dateInputab = document.getElementById('Abreisedatum');
const weekdayabreiseSpan = document.getElementById('weekdayabreise');
dateInputab.addEventListener('change', function() {
if (this.value) {
const selectedDate = new Date(this.value);
const days = ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'];
const dayOfWeek = days[selectedDate.getDay()];
weekdayabreiseSpan.textContent = dayOfWeek;
} else {
weekdayabreiseSpan.textContent = '';
}
});
</script>
<label for="Abreisezeit">Abreisezeit:</label>
<input type="time" id="Abreisezeit" name="Abreisezeit"><br><br>
<label for="Hotelwunsch">Hotelwunsch:</label><br>
<textarea id="Hotelwunsch" name="Hotelwunsch"></textarea><br><br>
<br>
<br>
<button type="button" onclick="sendMail()">Nachricht senden</button>
</form>
<script>
function sendMail() {
const Ort = document.getElementById('Ort').value;
const Hotelwunsch = document.getElementById('Hotelwunsch').value;
const Abreisezeit = document.getElementById('Abreisezeit').value;
const Anreisezeit = document.getElementById('Anreisezeit').value;
const Anreisedatum = document.getElementById('Anreisedatum').value;
const Abreisedatum = document.getElementById('Abreisedatum').value;
const ANdatum = document.getElementById('Anreisedatum').value;
const subject = `Hotelbestellung - ${Ort} - ${ANdatum} -- ${Anreisedatum}`;
const body = `\n\nHallo,\n\nbitte mir wie folgt ein Hotel bestellen:\n\nOrt: ${Ort}\n\nHotelwunsch:\n${Hotelwunsch}\n\nAnreise:\n${Anreisedatum}\n${Anreisezeit}\n\nAbreise:\n${Abreisedatum}\n${Abreisezeit}\n`;
// URL-Kodierung der Parameter
const mailtoLink = `mailto:[email protected]?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`;
window.location.href = mailtoLink;
}
</script>
</body>
</html>
 
  • Daten speichern aus Formularfeldern ohne Datenbank Beitrag #10
S
Sempervivum
Well-known member
Beiträge
760
Punkte Reaktionen
125
Guten Morgen und frohe Weihnachten!
Vor dem Hintergrund, den Du beschreibst, ist Localstorage die Lösung, die sich anbietet.
 
  • Daten speichern aus Formularfeldern ohne Datenbank Beitrag #11
M
mn66386
Member
Beiträge
7
Punkte Reaktionen
0
Das passt leider auch nicht, da ich die Daten dann nicht als Datei sichern kann und beim löschen vom browser-cache dann weg sind.

Wir mir wohl nichts anderes übrig bleiben und doch einen Datenbankserver bei irgendwelchen Webspace-Anbietern zulegen müssen.
 
  • Daten speichern aus Formularfeldern ohne Datenbank Beitrag #12
S
Sempervivum
Well-known member
Beiträge
760
Punkte Reaktionen
125
Das trifft natürlich zu, wenn man die Browserdaten löscht, ist auch der Inhalt von Localstorage weg.

Habt ihr vielleicht ein Intranet, dass Du mit dem Admin sprechen könntest, ob Du dort so etwas speichern kannst?
 
  • Daten speichern aus Formularfeldern ohne Datenbank Beitrag #13
M
mn66386
Member
Beiträge
7
Punkte Reaktionen
0
Nein, das haben wir leider nicht und auch eine Unterstützung von einem Admin kann man bei uns total vergessen.
Ich glaube, dann vergesse ich mal die ganze Sache und muss die Email am Handy halt immer manuell tippen.
 
  • Daten speichern aus Formularfeldern ohne Datenbank Beitrag #14
S
Sempervivum
Well-known member
Beiträge
760
Punkte Reaktionen
125
Besser als die ganze Sache zu vergessen wäre es dann vielleicht, es doch mit Localstorage zu machen. So häufig löscht man ja den Cache nicht und dazwischen hätte man die gespeicherten Daten.
 
Thema:

Daten speichern aus Formularfeldern ohne Datenbank

Oben Unten