Ich hab den Fehler gefunden und korrigiert, aber leider erschien jetzt wieder die weiße Seite ohne Fehlermeldung diesmal. Nachfolgend ist die Schleife in der ich die Datensätze durchlaufe:
//Datensätze durchlaufen
for($i=0; $i<count($lines); $i++)
{
if($count > 1)
{
//Aktuelle Zeile einlesen
$zeile = $lines[$i];
$zeile = trim($zeile);
$zeile = str_replace(""", "", $zeile);
$zeile = str_replace("\r\n","",$zeile);
if(strlen($zeile) > 0)
{
//Einzelne Datenfelder auftrennen und speichern
$zeileData = explode(";", $zeile);
if(count($zeileData) == 14)
{
$Titel = $zeileData[0];
$Name = $zeileData[1];
$Vorname = $zeileData[2];
$PLZ = $zeileData[3];
$Ort = $zeileData[4];
$Strasse = $zeileData[5];
$Hausnummer = $zeileData[6];
$Geburtsdatum = $zeileData[7];
$Geburtsdatum = str_replace($Geburtsdatum, "*", "");
$gebDateParts = explode(".", $Geburtsdatum);
if(count($gebDateParts) == 3)
{
if(strlen($gebDateParts[2]) == 2)
{
$gebDateParts[2] = "19".$gebDateParts[2];
$Geburtsdatum = $gebDateParts[0].".".$gebDateParts[1].".".$gebDateParts[2];
}//if
}//if
else
$Geburtsdatum = "01.01.1970";
$Geburtsdatum = date("Y-m-d 00:00:00", strToTime($Geburtsdatum));
$Beruf = $zeileData[8];
$Telefon = $zeileData[9];
$Handy = $zeileData[10];
$Email = $zeileData[11];
$Einlagehoehe = $zeileData[12];
$Fondsklassifizierung = $zeileData[13];
//Prüfen, ob nachfolgende Datensätze noch zum letzten Feld dieses Datensatzes gehören
for($h=$i+1; $h<count($lines); $h++)
{
$nextLine = $lines[$h];
$nextLine = trim($nextLine);
$nextLine = str_replace(""", "", $nextLine);
$nextLine = str_replace("\r\n","",$nextLine);
$semikolonExists = strpos("_".$nextLine, ";");
if(!$semikolonExists) //wenn ; nicht enthalten ist
{
//nextLine an letzte Zeile des aktuellen Datensatzes anfügen
$Fondsklassifizierung .= " ".$nextLine;
//Array-Feld an dem sich in dem nextLine enthalten ist leeren
$lines[$h] = "";
}//if
else
break;
}//for
//Connection erneuern
$db = new DatabaseHandling();
$conn = $db->GetConnection();
//Daten maskieren
$Titel = mysql_real_escape_string($Titel, $conn);
$Name = mysql_real_escape_string($Name, $conn);
$Vorname = mysql_real_escape_string($Vorname, $conn);
$PLZ = mysql_real_escape_string($PLZ, $conn);
$Ort = mysql_real_escape_string($Ort, $conn);
$Strasse = mysql_real_escape_string($Strasse, $conn);
$Hausnummer = mysql_real_escape_string($Hausnummer, $conn);
$Beruf = mysql_real_escape_string($Beruf, $conn);
$Telefon = mysql_real_escape_string($Telefon, $conn);
$Handy = mysql_real_escape_string($Handy, $conn);
$Email = mysql_real_escape_string($Email, $conn);
$Einlagehoehe = mysql_real_escape_string($Einlagehoehe, $conn);
$Fondsklassifizierung = mysql_real_escape_string($Fondsklassifizierung, $conn);
//Prüfen, ob Eintrag bereits vorhanden
$sql = sprintf("SELECT COUNT(ID) FROM poolkontakte WHERE Titel='%s' AND Name='%s' AND Vorname='%s' AND PLZ='%s' AND Ort='%s' AND Strasse='%s' AND Hausnummer='%s' AND Telefon='%s'", $Titel, $Name, $Vorname, $PLZ, $Ort, $Strasse, $Hausnummer, $Telefon);
$anzahl = $db->ExecuteSqlSingleReturn($sql);
if($anzahl == 0)
{
$sql = sprintf("INSERT INTO poolkontakte SET B2B_Kontakt=0, BereitstellerID=%s, Titel='%s', Name='%s', Vorname='%s', PLZ='%s', Ort='%s', Strasse='%s', Hausnummer='%s', Geburtsdatum='%s', Beruf='%s', Telefon='%s', Handy='%s', Email='%s', Einlagehoehe='%s', Fondsklassifizierung='%s'", $bereitstellerID, $Titel, $Name, $Vorname, $PLZ, $Ort, $Strasse, $Hausnummer, $Geburtsdatum, $Beruf, $Telefon, $Handy, $Email, $Einlagehoehe, $Fondsklassifizierung);
$sqltest = $sql;
$db->ExecuteSqlNoReturn($sql);
$neu++;
//Felder leeren
$Titel = "";
$Name = "";
$Vorname = "";
$PLZ = "";
$Ort = "";
$Strasse = "";
$Hausnummer = "";
$Geburtsdatum = "";
$Beruf = "";
$Telefon = "";
$Handy = "";
$Email = "";
$Einlagehoehe = "";
$Fondsklassifizierung = "";
}//if
else
$doppelt++;
$anzahl = 0;
}//if
else
{
$feldAnzahlFalsch++;
//Fehlerhafte Datensätze in Datei speichern
$csverr_filepath = sprintf("csv/%s", $csverr_filename);
//Dateiheader
if(!$headerWrote)
{
$this->WriteLine($csverr_filepath, "Titel;Name;Vorname;PLZ;Ort;Straße;Hausnummer;Geburtsdatum;Beruf;Telefon Festnetz;Telefon Handy;E-Mail;Einlagehöhe;Fondsklassifizierung");
$headerWrote = true;
}//if
//Fehlerhaften Datensatz schreiben
$this->WriteLine($csverr_filepath, $zeile);
}//else
}//if
}//if
else
{
//Prüfen der Headerzeile
$zeile = $lines[$i];
$zeile = trim($zeile);
$zeile = str_replace(""", "", $zeile);
$zeile = str_replace("\r\n","",$zeile);
if($zeile != "Titel;Name;Vorname;PLZ;Ort;Straße;Hausnummer;Geburtsdatum;Beruf;Telefon Festnetz;Telefon Handy;E-Mail;Einlagehöhe;Fondsklassifizierung")
{
$errorMessage = "Die Feldnamen oder Feldreihenfolge in der Datei sind falsch. Prüfen Sie bitte die Datei.";
break;
}//if
}//else
$count++;
}//for