表格 fopen/fwrite

Form with fopen/fwrite

如果我在每个 "if" 中写入 fopen,它会重新打开自己并覆盖自己直到最后一个 "if"。 我想循环 fopen 一次,但这也没有用。 我已经解决这个问题 2 天了,但没有得到关于我的问题的任何新信息。也许没有人使用.csv 来存储数据。

代码:

for($i = 0;$i < 1; $i++){

$f1 = fopen("Datenbank.csv", "w");
if (!empty($_POST['vname'])) {
    $f1 = fwrite($f1, ($_POST['vname']));
} elseif (isset($_POST['vname'])) {
    echo "Bitte geben Sie ihren Vornamen ein.<br>";
}

if (!empty($_POST['nname'])) {
    $f1 = fwrite($f1, ($_POST['nname']));
} elseif (isset($_POST['nname'])) {
    echo "Bitte geben Sie ihren Nachnamen ein.<br>";
}

if (!empty($_POST['bday'])) {
    fwrite($f1, ($_POST['bday']));
} elseif (isset($_POST['bday'])) {
    echo "Bitte geben Sie ein gültiges Geburtsdatum ein.<br>";
}

if (!empty($_POST['email'])) {
    fwrite($f1, ($_POST['email']));
} elseif (isset($_POST['email'])) {
    echo "Bitte geben Sie eine gültige Email-Adresse ein.<br>";
}

fclose($f1);

}

如果我的英语不够好,对不起:( 我来自德国,刚开始在一家公司工作。 他们也教我编程。

尝试在循环之前打开文件:

$f1 = fopen("Datenbank.csv", "w");
for ($i = 0; $i < 1; $i++) {
    if (!empty($_POST['vname'])) {
        $f1 = fwrite($f1, ($_POST['vname']));
    } elseif (isset($_POST['vname'])) {
        echo "Bitte geben Sie ihren Vornamen ein.<br>";
    }

    if (!empty($_POST['nname'])) {
        $f1 = fwrite($f1, ($_POST['nname']));
    } elseif (isset($_POST['nname'])) {
        echo "Bitte geben Sie ihren Nachnamen ein.<br>";
    }

    if (!empty($_POST['bday'])) {
        fwrite($f1, ($_POST['bday']));
    } elseif (isset($_POST['bday'])) {
        echo "Bitte geben Sie ein gültiges Geburtsdatum ein.<br>";
    }

    if (!empty($_POST['email'])) {
        fwrite($f1, ($_POST['email']));
    } elseif (isset($_POST['email'])) {
        echo "Bitte geben Sie eine gültige Email-Adresse ein.<br>";
    }
}
fclose($f1);

如果您需要将数据追加到文件中,您必须使用 "a" 标志打开文件(用于追加):

$f1 = fopen("Datenbank.csv", "a");

如果还是不行,请尝试检查您是否有创建该文件的权限:

$f1 = fopen("Datenbank.csv", "w");
if(! $f1) {
    die('Unable to create file Datenbank.csv');
}