Ich nehme Formulardaten und schreibe es in eine CSV-Datei auf dem Server. Ich laufe immer wieder auf die gleichen Probleme und weiß nicht, was ich falsch mache. Entweder wiederholen sich die Spaltenüberschriften mit jedem Eintrag, oder jede zusätzliche Unterschreibung schreibt in dieselbe Zeile. Wie würde ich die $ _POST-Daten nehmen und den csv auffüllen? Ich muss es zweimal erklären, um dies bis zu diesem Punkt funktionieren zu lassen. Hier ist, was ich habe, dass etwas funktioniert.Formatieren von CSV mit PHP
<?php
//this is just for the post data, but I'm having to declare the key/values again below. I'm sure this is wrong.
$email = $_POST['email'];
//rest of the form inputs go here same as $email
//some server side validation builds an 'error' array
if(!isset($error) {
$del = ", ";
//this is where I have to repeat the post data key/values
$data[1] = $_POST['email'];
$data[2] = $_POST['FirstName'];
$data[3] = $_POST['LastName'];
$data[4] = $_POST['Address'];
$data[5] = $_POST['City'];
$data[6] = $_POST['Country'];
$data[7] = $_POST['State'];
$data[8] = $_POST['Phone1'];
$data[9] = $_POST['password'];
$file = fopen("Registration.csv", "a");
//$data is the column headers that won't behave
$data = "Email, First Name, Last Name, Address, City, Country, State, Phone, Password
".implode($del, $data);
fwrite($file, $data);
fclose($file);
}
?>
Versuchen [fputcsv] mit (http://php.net/manual/en/function.fputcsv.php), anstatt es zu versuchen, sich selbst zu schreiben. Übergeben Sie zuerst die Header und dann die Daten. – aynber
http://code.stephenmorley.org/php/creating-downloadable-csv-files/ großes Tutorial – clearshot66
Das ist ein gutes Tutorial. Allerdings bekomme ich keine Daten von db, sondern von einem Formular und möchte auf den Server keine Download-Datei schreiben. –