lazus: Formulardaten werden nicht richtig übertragen

Beitrag lesen

Hallo,

ich habe mehrere Eingabefelder in meinem Formular, es gib Mussfelder(*) wie Name, Strasse, E-Mail und Felder die nicht ausgefüllt sein müssen, wie Postfach.

Das ganze wird über ein PHP-Script geregelt.
form.php:
<?php
$msgdata = array();

if(  $firma != ""
 and $strasse != ""
 and $email != ""
   ) {

if( $email != "" ) {
    array_push( $msgdata, $email ."\n" );
    }
if( $strasse != "" ) {
    array_push( $msgdata, $strasse ."\n" );
    }
if( $name!= "" ) {
    array_push( $msgdata, $name."\n" );
    }
if( $postfach!= "" ) {
    array_push( $msgdata, $postfach."\n" );
    }

$msv = "Kontakt\n";

mail( ...);
}else{

<inputsize=35 name=name value='. $name .'>
<inputsize=35 name=strasse value='. $strasse .'>
<inputsize=35 name=email value='. $email .'>
<inputsize=35 name=postfach value='. $postfach .'>
...
}
?>

Das kuriose bei ist wenn ich in die Eingabefelder z.B.

(*)Name: Klaus Müller
(*)Strasse: Hauser Weg 50
(*)E-Mail:
Postfach:

eingebe und das Formular senden möchte, wird dieses durch die obere if Abfrage verhindert (es fehlt ja als Mussfeld (*)E-Mail: ) und in den <input> Feldern steht dann:

(*)Name: Klaus
(*)Strasse: Hauser
(*)E-Mail:
Postfach:

alles nach dem ersten Leerzeichen wird abgeschnitten, das value wird nicht richtig übergeben.
Woran kann das liegen?

Grüße
lazus