Daten in eine csv Datei schreiben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Daten in eine csv Datei schreiben

    Halli Hallo

    Ich als Neuling in diesem Forum schlage mich im Moment mit einem Problem durch. Und zwar habe ich folgendes vor:

    Ich habe ein Formular erstellt, dass Kunden nutzen sollen, um ihre Daten einzugeben. Nachdem sie das getätigt haben, sollen diese Daten in eine csv Datei geschrieben werden, die man später in den BCM von Outlook 2007 einfügt.

    Nun habe ich das Problem, dass die Daten zwar in die csv Datei eingetragen werden, aber Outlook weiss nicht, wo die Daten hinzugeordnet werden sollen.

    Was muss also im Code geändert werden, damit die eingetragenen Daten in der csv Datei erst in der zweiten Zeile eingetragen werden?

    PHP-Code:
    <?php
    //eingegebene Formulardaten werden vom Formular eingezogen
    $anrede=$_POST['anrede'];
    $name=$_POST['name'];
    $vorname=$_POST['vorname'];
    $strasse=$_POST['strasse'];
    $hausnr=$_POST['hausnummer'];
    $plz=$_POST['postleitzahl'];
    $ort=$_POST['ort'];
    $telefon1=$_POST['telefon-vw'];
    $telefon2=$_POST['telefon'];
    $mobil1=$_POST['mobil-vw'];
    $mobil2=$_POST['mobil'];
    $email1=$_POST['emailon'];
    $email2=$_POST['emailoff'];

    //Formulardaten werden für txt vorbereitet
    if($_POST) {
    //$bedingungen = 'Vollständiger Name,Vorname,Nachname,Weitere Vornamen,Titel,Namenszusatz,Speichern unter,
    Position,Unternehmen,Aktiv,Zahlungsstatus,Bewertung,Straße geschäftlich,Postfach geschäftlich,Ort geschäftlich,
    Bundesland/Kanton geschäftlich,Postleitzahl geschäftlich,Land/Region geschäftlich,Straße privat,Postfach privat,
    Stadt privat,Bundesland/Kanton privat,Postleitzahl privat,Land/Region privat,Weitere Straße,Weiteres Postfach,
    Weitere Stadt,Weiteres Bundesland/weiterer Kanton,Weitere Postleitzahl,Andere(sLand/Region,Name Assistent,
    Fax geschäftlich,Telefon geschäftlich,Telefon geschäftlich 2,Rückruf,Telefonzentrale Unternehmen,Telefon privat,
    ISDN,Mobiltelefon,Weiteres Fax,Weiteres Telefon,Haupttelefon,Funkruf,Telex,Telefon Assistent,Autotelefon,Fax privat,
    Telefon privat 2,Pager,TTY/TDD,E-Mail,E-Mail-Anzeigename,E-Mail 2,E-Mail-2-Anzeigename,E-Mail 3,E-Mail-3-Anzeigename,
    Webseitenadresse,Kommentare,Initiiert von,Leadursprung,Bevorzugte Kontaktmethode,Nicht anrufen,
    Keine E-Mail senden,Kein Fax senden,Keinen Brief senden,Abteilung,Tätigkeit,Vorgesetzte(r),Geburtstag,Jahrestag,
    Übergeordneter Firmenname,Lead,Interessiert an,Zugewiesen an Benutzer,IM-Adresse,Bürostandort,Rufname,Kinder,
    Hobbys,Name des Ehepartners,"Wartungsvertrag","Kundenart",Kategorie';
    $datensatz = $anrede.' '.$vorname.' '.$name.'
    ,"'.$vorname.'","'.$name.'",,"'.$anrede.'",,"'.$name.','.$vorname.'",,,"True",,,,,,,,,"'.$strasse.' 
    '.
    $hausnr.'",,"'.$ort.'",,"'.$plz.'","Deutschland",,,,,,,,,,,,,"'.$telefon1.'-'.$telefon2.'",,"'.$mobil1.'-
    '.
    $mobil2.'",,,,,,,,,,,,"'.$email1.'@'.$email2.'",,,,,,,,,,,,"False","False","False","False",,,,,,,"False",,,,,,,,"Ja","Normaltarif","Privat"';

    //txt-Datei auswählen und Daten dort ablegen
    $file = "kunden.csv";
    $fp = fOpen($file,"w+");
    fPuts($fp, $datensatz);
    fClose ($fp);
    }
    ?>
    Ich hoffe, dass mir jemand helfen kann, denn das ganze soll später in einem kleinen Laden als Kundenregistrierung dienen.


    MfG,
    Florian
    Zuletzt geändert von Fl0W; 20.10.2009, 16:28.

  • #2
    Bitte brich deinen Code um. Hier muss man ja kilometerweit nach rechts scrollen.

    Danke
    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      ups, sorry. Darauf habe ich jetzt nicht geachtet, dass das ganze doch so Kilometer weit geht.

      Kommentar


      • #4
        Klingt für mich so, als ob Outlook die Daten mit einer Überschriftenzeile erwartet (bzw. so eingestellt ist), du aber keine lieferst.

        Vieleicht solltest du $bedingungen mal nicht auskommentieren (das sieht doch so aus, als ob das die zugehörigen Spaltenüberschriften wären?), und noch vor der ersten Datenzeile in die Datei schreiben.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          mmm - leider komme ich immer noch nicht weiter. Ich will eigentlich nur erreichen, dass der zwischen $bedingung und $datensatz einen Zeilenumbruch einfügt, damit in der csv später in der ersten Zeile die Outlook 2007 Bedingungen und in der zweiten Zeile die Daten vom User stehen.

          EDIT: Ich habs geschafft. War eigentlich dann doch simpel. Ich habe einfach alles als $datensatz geschrieben und zwischen den beiden Zeilen einfach ein "\n".
          Zuletzt geändert von Fl0W; 21.10.2009, 10:19.

          Kommentar


          • #6
            Hallo Florian,

            der Zeilenumbruch sieht so aus: "\n" (UNIX) oder so: "\r\n" (Windows) oder so: "\r" (Mac) und Strings verbindet man mit dem Punkt (.)

            Damit hast du eigentlich alles, was du brauchst, um zwischen den beiden Zeilen einen Umbruch einzubauen.

            Gruß,

            Amica
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Oder PHP_EOL, wenn Quell- und Zielsystem identisch sind …
              [FONT="Helvetica"]twitter.com/unset[/FONT]

              Shitstorm Podcast – Wöchentliches Auskotzen

              Kommentar

              Lädt...
              X