mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: So 04.12.2016 00:58 Benutzername: Passwort: Auto-Login

Thema: [php] [sql] formulardaten => CSV vom 13.01.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [php] [sql] formulardaten => CSV
Seite: 1, 2  Weiter
Autor Nachricht
fuchsbau
Threadersteller

Dabei seit: 15.08.2005
Ort: .//root
Alter: 33
Geschlecht: Männlich
Verfasst Sa 13.01.2007 14:29
Titel

[php] [sql] formulardaten => CSV

Antworten mit Zitat Zum Seitenanfang

Hallo.

Problem: Formulareingaben sollen in eine CSV datei als Datensatz gespeichert werden. also ein formular mit sagen wir name, postleitzahl, lieblingsfarbe wird 10 mal ausgefüllt und abgesendet und rauskommen soll eine csv-datei mit inhalt

Code:

name;postleitzahl;lieblingsfarbe
name;postleitzahl;lieblingsfarbe
name;postleitzahl;lieblingsfarbe
name;postleitzahl;lieblingsfarbe
name;postleitzahl;lieblingsfarbe
name;postleitzahl;lieblingsfarbe
name;postleitzahl;lieblingsfarbe
name;postleitzahl;lieblingsfarbe
name;postleitzahl;lieblingsfarbe
name;postleitzahl;lieblingsfarbe


einzige verwendung der formulardaten ist hier die csv-datei, die dann in unterschiedlichen abständen runtergeladen wird. es erfolgt also nie wieder ein zugriff auf bereits geschriebene daten, also kein sortieren, suchen, umstrukturieren, bearbeiten etc.

ist es hier nicht völlig ausreichend, die csv im vorfeld zu erstellen und in der formularauswertung dann einfach mit

Code:

fopen("daten.csv","a+");


zu öffnen, zeile mit fwrite zu schreiben und datei wieder zu schließen?

eine datenbank wäre doch hier nicht wirklich sinnvoll, oder? (zumal ich nicht den geringsten plan habe, wie sowas funktioniert). was spricht gegen diese umsetzung => sicherheit bezüglich schreibfehler, datenverlust... mit a+ kann da doch nicht wirklich viel passieren, oder?)

kann jemand helfen?

danke :)
  View user's profile Private Nachricht senden
schachbrett

Dabei seit: 11.10.2006
Ort: Köln
Alter: -
Geschlecht: Männlich
Verfasst Sa 13.01.2007 19:21
Titel

Antworten mit Zitat Zum Seitenanfang

Noe -- kannst du machen; sieh nur zu, dass man die Datei nicht unbedingt mit dem Browser aufrufen kann!
  View user's profile Private Nachricht senden
Anzeige
Anzeige
fuchsbau
Threadersteller

Dabei seit: 15.08.2005
Ort: .//root
Alter: 33
Geschlecht: Männlich
Verfasst Mo 15.01.2007 13:03
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
Noe -- kannst du machen;


Naja, nachdem ich nochmal bissl überlegt hab: nee kann ich nich so machen.

Was passiert, wenn 2 Clients gleichzeitig in die Datei schreiben? Im schlimmsten Fall ALLE Daten weg.

Helfen könnte flock() um die Datei vorm Schreiben für exklusives Schreiben zu sperren. Aber so richtig sicher scheint das auch nicht zu sein.

Also mein Lösungsansatz:

- Formulardaten jedes versendeten Formulars in eine neue Datei auf dem Server speichern (am sichersten ist wohl zufälliger Dateiname + vorher nochmal mit file_exists prüfen)

- 2tes Skript öffnet nacheinander alle Dateien im Verzeichnis, liest jeweils die 1te Zeile und schreibt diese dann in eine CSV. dieses skript wird dann eben nur von mir ausgeführt, wenn ich die daten gesammelt benötige, somit ist ein gleichzeitiger schreibzugriff dann wohl ausgeschlossen

Zitat:
sieh nur zu, dass man die Datei nicht unbedingt mit dem Browser aufrufen kann!


.htaccess

Code:

Order allow,deny
Allow from none


so. * Mmmh, lecker... *


Zuletzt bearbeitet von fuchsbau am Mo 15.01.2007 13:07, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
Mac

Dabei seit: 26.08.2005
Ort: Köln
Alter: 55
Geschlecht: Männlich
Verfasst Mo 15.01.2007 13:27
Titel

Antworten mit Zitat Zum Seitenanfang

fuchsbau hat geschrieben:
...
- Formulardaten jedes versendeten Formulars in eine neue Datei auf dem Server speichern (am sichersten ist wohl zufälliger Dateiname + vorher nochmal mit file_exists prüfen)
..

Nimm lieber einen Zähler (fortlaufende Nummer oder Datum/Uhrzeit und fortlaufende Nummer)
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
schachbrett

Dabei seit: 11.10.2006
Ort: Köln
Alter: -
Geschlecht: Männlich
Verfasst Mo 15.01.2007 13:43
Titel

Antworten mit Zitat Zum Seitenanfang

Warum ist flock() nicht sicher? * Keine Ahnung... *
  View user's profile Private Nachricht senden
fuchsbau
Threadersteller

Dabei seit: 15.08.2005
Ort: .//root
Alter: 33
Geschlecht: Männlich
Verfasst Mo 15.01.2007 13:43
Titel

Antworten mit Zitat Zum Seitenanfang

MacCon hat geschrieben:
Nimm lieber einen Zähler (fortlaufende Nummer oder Datum/Uhrzeit und fortlaufende Nummer)


der bequemlichkeit halber für's wiedereinlesen oder wie? reproduziert doch aber nur o.g. problem, oder?

was ist nämlich, wenn die file_exists prüfung zur selben zeit durchgeführt wird, bei beiden negativ ist, ein client erstellt die datei, der andere öffnet sie, flock() versagt evtl. auch => beide schreiben gleichzeitig in die selbe datei.

bei zufallsnamen müsste zusätzlich zu den genannten umständen dann noch beide die gleiche zufallszahl erhalten, was dann doch eher unrealistisch ist.

* Keine Ahnung... *
  View user's profile Private Nachricht senden
fuchsbau
Threadersteller

Dabei seit: 15.08.2005
Ort: .//root
Alter: 33
Geschlecht: Männlich
Verfasst Mo 15.01.2007 13:47
Titel

Antworten mit Zitat Zum Seitenanfang

schachbrett hat geschrieben:
Warum ist flock() nicht sicher? * Keine Ahnung... *


http://manuals.phpforum.de/php/function.flock.php => abschnitt "warnung"

außerdem, was passiert wenn beide clients gleichzeitig ein flock() anmelden und es bei einem nicht klappt oder gar bei beiden nicht? wollte ich nicht zu ende denken *zwinker*
  View user's profile Private Nachricht senden
schachbrett

Dabei seit: 11.10.2006
Ort: Köln
Alter: -
Geschlecht: Männlich
Verfasst Mo 15.01.2007 16:13
Titel

Antworten mit Zitat Zum Seitenanfang

Gesunde Bedenken sind das ja schon, aber vielleicht lohnt es sich doch mal die Problematik zu Ende zu denken... Deiner Methode mit den vielen Dateien fehlt - in meinen Augen - irgendwie der Sexapeal Lächel

Was ist, wenn du eine zweite Datei nur zum locken anlegst??? Also "daten.txt" + "daten.txt.lock".
  View user's profile Private Nachricht senden
 
Ähnliche Themen Formulardaten in csv
OOP in PHP für Noob - Formulardaten verarbeiten
hilfe: formulardaten per email versenden(php)
[PHP] fwrite in eine CSV
[php] Dateiname aus CSV als Bild anzeigen
Mit PHP bestimmte Spalte aus csv einlesen?
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.