echo $begrüßung;
Wenn ich jetzt eine 40 MB grosse datei hochlade, bekomme ich trotzdem eine positive nachricht, dass die Mail inkl. Anhang geschickt wurde.
if(@mail($this->destinationMail,$this->subject,"",$mail_header) && ($_FILES['datei']['error'] == UPLOAD_ERR_OK)) {Zuerst wird der erste Teil des Ausdrucks ausgewertet. Das heißt, die Funktion mail() wird aufgerufen und gibt true zurück, wenn der Versand geklappt hat. Dann wird versucht den zweiten Teil auszuwerten, was ein bei Ungleichheit ein false ergibt. true && false ergibt false. Die Bedingung des if ist nicht erfüllt.
if(@mail($this->destinationMail,$this->subject,"",$mail_header) && ($_FILES['datei']['error'] == UPLOAD_ERR_OK)) {
echo "Deine Nachricht wurde gesendet.";
}
elseif ($fileErr == UPLOAD_ERR_INI_SIZE)
{
echo "Die Dateigrösse überschreitet die zulässige Maximalgrösse von 8 MB.<br />Übertragung abgebrochen";
}
else {
echo "Es ist ein Fehler beim Senden der eMail aufgetreten.";
}demnach sollte aber in jedem Fall "Es ist ein Fehler beim Senden der eMail aufgetreten." ausgegeben werden.
Die Mail wird immer versendet, egal was sonst noch so passiert. Was die Auswertung der restlichen Bedingungen ergibt und was daraufhin am Bildschirm angezeigt wird, weiß ich nicht, da mir die Inhalte der beteiligten Variablen unbekannt ist. Ich weiß auch nicht, wie der Mailtext aussieht. Die Beschreibung "eine positive nachricht, dass die Mail inkl. Anhang geschickt wurde" passte auch nicht vollständig auf einen der Texte im Quelltext. Deswegen nehme ich an, dass damit der Mailtext gemeint ist.
echo "$verabschiedung $name";