Moin moin,
und frohes Neues.
Ich hab da mal wieder nen Problem. Und zwar hab ich ein Formular das Daten in eine .csv schreibt. Sofern diese auf dem Server vorhanden ist. Ist diese Datei aber nicht vorhanden gibt er einen Schreibfehler aus. Ich möchte nun aber das wenn auf der Seite das Formular ausgefüllt wurde und die .csv Datei noch nicht existiert, dass diese neu angelegt wird.
Hier mein Code:
PHP-Code:
<?php
/*
* Created by Anna Busch/Jan Hoffmann
*/
/**
* Datei Name, wo die Daten gespeichert werden
sollen
*/
$dateiname = 'daten.csv';
/**
* Prüfen ob die Variable ein Wert zugewiesen
wurde. Ansonsten werden diese Variablen
deklariert.
*/
if (!isset($_POST['anrede'])) $_POST['anrede'] = '';
if (!isset($_POST['vorname'])) $_POST['vorname'] = '';
if (!isset($_POST['nachname'])) $_POST['nachname'] = '';
if (!isset($_POST['strasse'])) $_POST['strasse'] = '';
if (!isset($_POST['plz'])) $_POST['plz'] = '';
if (!isset($_POST['ort'])) $_POST['ort'] = '';
if (!isset($_POST['email'])) $_POST['email'] = '';
if (!isset($_POST['telefon'])) $_POST['telefon'] = '';
if (!isset($_POST['beruf'])) $_POST['beruf'] = '';
if (!isset($_POST['kreditvalue'])) $_POST['kreditvalue'] = '';
if (!isset($_POST['kredit_monate'])) $_POST['kredit_monate'] = '';
if (!isset($_POST['verwendung'])) $_POST['verwendung'] = '';
if (!isset($_POST['tag'])) $_POST['tag'] = '';
if (!isset($_POST['zeit'])) $_POST['zeit'] = '';
if (!isset($_POST['kommentar'])) $_POST['kommentar'] = '';
if ( isset($_POST["einwilligung"]) && $_POST["einwilligung"] == "on" ){
// checkbox wurde "ausgewählt"
} else{
// checkbox wurde nicht "ausgewählt"
}
if (!isset($_POST['senden'])) $_POST['senden'] =
'';
$meldung = '';
/**
* Prüfen der Variable $_POST['senden'] ob diese
ein Wert hat.
*/
if ($_POST['senden'] == 'senden') {
/**
* Zeile aufbauen, die in die CSV-Datei am Ende
geschrieben werden soll
*/
$inhalt =
$_POST['anrede'].';'.
$_POST['vorname'].';'.
$_POST['nachname'].';'.
$_POST['strasse'].';'.
$_POST['plz'].';'.
$_POST['ort'].';'.
$_POST['email'].';'.
$_POST['telefon'].';'.
$_POST['beruf'].';'.
$_POST['kreditvalue'].';'.
$_POST['kredit_monate'].';'.
$_POST['verwendung'].';'.
$_POST['tag'].';'.
$_POST['zeit1'].' '.
$_POST['zeit2'].';'.
$_POST['kommentar']."\n";
/**
* Datei öffnen und den Dateizeiger auf das
Ende der CSV Datei legen, wenn die Datei
noch nicht vorhanden ist wird versucht
diese anzulegen. Wichtig ist, dass die
Skriptdatei die Rechte zum anlegen einer
Datei hat.
*/
$handle = @fopen($dateiname, "ab+");
/**
* Schreiben der Zeile, in der CSV Datei
*/
fwrite($handle, $inhalt);
/**
* Datei wieder schließen
*/
fclose ($handle);
/**
* Prüfen ob die CSV Datei existiert
*/
if (file_exists($dateiname) == FALSE) {
/**
* Die schreib Rechte ändern bei der CSV
Datei, damit das nächste mal diese
beschrieben werden kann.
*/
@chmod ($dateiname, 0777);
}
/**
* Ausgabemeldung erstellen
*/
$meldung = '<font color="green">Ihre Beratungsanfrage wurde erfolgreich übermittelt.</font>';
}
/**
* Prüfen ob eine Ausgabemeldung in der Variable
$meldung hinterlegt wurde, wenn eine
Ausgabemeldung vorhanden ist wird diese per
Echo ausgegeben.
*/
if ($meldung != '') echo $meldung;
?>