Hapopo: HTML Formular senden mit php

Hallo ich habe folgendes Problem:
Möchte meine Homepage die ca. 6 Jahre unberührt "verstaubte" wieder aktivieren.
Beim Versenden eines Kontaktformulars erhalte ich jedoch nur eine leere EMail. Die Inputboxen werden nicht wie gewünscht übermittelt...

Hier die Auszüge aus dem Quelltext:
Die eigentliche Html-Seite:

  
<TBODY>  
        <form action="mail_it.php" method="post">  
        <TR>  
          <TD colSpan=2><FONT face="Verdana, Arial, Helvetica, sans-serif"  
            size=2><B><FONT color=#000099 size=3>KONTAKTIEREN SIE UNS !</FONT><BR><BR></B></FONT></TD></TR>  
  
<TR>  
    <TD class=cap>Name</TD>  
    <TD><INPUT size=30 name=name></TD></TR>  
  <TR>  
    <TD class=cap>Strasse</TD>  
    <TD><INPUT size=30 name=strasse></TD></TR>  
  <TR>  
    <TD class=cap>PLZ, Ort</TD>  
    <TD><INPUT size=30 name=plzort></TD></TR>  
  <TR>  
    <TD class=cap>Telefon</TD>  
    <TD><INPUT size=30 name=telefon></TD></TR>  
  <TR>  
    <TD class=cap>E-mail</TD>  
    <TD><INPUT size=30 name=email></TD></TR>  
  <TR>  
    <TD class=cap>Text</TD>  
    <TD><TEXTAREA name=texts rows=3 cols=30></TEXTAREA></TD></TR>  
  <TR>  
    <TD></TD>  
    <TD>  
      <TABLE border=0>  
        <TBODY>  
        <TR>  
          <TD><INPUT type=checkbox value=1 name=perpost></TD>  
          <TD>Bitte senden Sie mir bla bla bla zu. </TD></TR>  
        <TR>  
          <TD><INPUT type=checkbox value=1 name=rueckruf></TD>  
          <TD>Ich bitte um telefonischen Rückruf, weil<BR>ich spezielle Fragen  
            habe. </TD></TR></TBODY>  

Das PhP-Script:

  
<?php  
  
// Zuerst wird der Text zusammengesetzt  
$text = "Name: " . $name . ",\n" ;  
$text .= "Strasse: " . $strasse. ",\n" ;  
$text .= "PLZ, Ort: " . $plzort. ",\n" ;  
$text .= "Telefon: " . $telefon. ",\n" ;  
$text .= "EMail: " . $email. ",\n" ;  
$text .= "Schreiben: " . $texts. ",\n" ;  
$text .= "Per Post: " . $perpost. ",\n" ;  
$text .= "Rueckruf: " . $rueckruf. ",\n" ;  
$text .= "." ;  
  
$header = "From: \"Schwedische Häuser\" <info@XXXXXXXXXXXXXX.de>" ;  
  
mail("info@XXXXXXXXXXXXX.de", "XXXXXXXXXXXX", $text, $header) ;  
  
?>  

Die Email die ich erhalte ist mehr oder weniger leer. Lediglich
Name: ,
Strasse ,
usw. ist zu sehen.

Hoffe jemand kann mir helfen

  1. Hi,

    Hoffe jemand kann mir helfen

    Das Handbuch kann natürlich: http://www.php.net/manual/en/reserved.variables.post.php

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
  2. hi,

    $header = "From: "Schwedische Häuser" info@XXXXXXXXXXXXXX.de" ;

    Das ist schonmal kein ASCII, was in einem Header zwingend erforderlich ist. Viele Mailprobleme resultieren aus fehlerhaften Headern und Deins wahrscheinlich auch.

    Horst

    1. Das ist schonmal kein ASCII, was in einem Header zwingend erforderlich ist.

      RFC 6532 sieht das anders :)

      1. Hallo,

        Das ist schonmal kein ASCII, was in einem Header zwingend erforderlich ist.
        RFC 6532 sieht das anders :)

        das stimmt, aber das ist noch relativ neu (Februar 2012), und man darf nicht davon ausgehen, dass diese neuen Freiheiten schon flächendeckend implementiert sind. Gesünder lebt man vermutlich, wenn man auch heute noch von der Beschränkung auf ASCII in Headern ausgeht und sich an RFC 2822 orientiert.

        Ciao,
         Martin

        --
        "Hier steht, deutsche Wissenschaftler hätten es im Experiment geschafft, die Lichtgeschwindigkeit auf wenige Zentimeter pro Sekunde zu verringern." - "Toll. Steht da auch, wie sie es gemacht haben?" - "Sie haben den Lichtstrahl durch eine Behörde geleitet."
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
      2. Tach,

        Das ist schonmal kein ASCII, was in einem Header zwingend erforderlich ist.

        RFC 6532 sieht das anders :)

        gilt allerdings nur bei Mailservern, die SMTPUTF8 unterstützen, bisher sind das meines Wisens keine, oder nicht SMTP nutzen.

        mfg
        Woodfighter

  3. Hallo,

    Beim Versenden eines Kontaktformulars erhalte ich jedoch nur eine leere EMail. Die Inputboxen werden nicht wie gewünscht übermittelt...

    das wundert mich nicht ...

    // Zuerst wird der Text zusammengesetzt

    $text = "Name: " . $name . ",\n" ;
    $text .= "Strasse: " . $strasse. ",\n" ;
    $text .= "PLZ, Ort: " . $plzort. ",\n" ;
    $text .= "Telefon: " . $telefon. ",\n" ;
    $text .= "EMail: " . $email. ",\n" ;
    $text .= "Schreiben: " . $texts. ",\n" ;
    $text .= "Per Post: " . $perpost. ",\n" ;
    $text .= "Rueckruf: " . $rueckruf. ",\n" ;
    $text .= "." ;

    $header = "From: "Schwedische Häuser" info@XXXXXXXXXXXXXX.de" ;

    mail("info@XXXXXXXXXXXXX.de", "XXXXXXXXXXXX", $text, $header) ;

    ?>

      
    Wo sollen denn die Variablen $name, $strasse und so weiter herkommen? Die fallen doch nicht einfach vom Himmel[\*]. Da musst du schon auf die übergebenen Formulardaten zugreifen, also $\_POST['name'], $\_POST['strasse'] usw.  
    Das richtige Escaping der Headerzeilen (danke, hotti, wär mir nicht aufgefallen) darf man auch nicht vergessen, erst recht, wenn man schon selbst nicht-ASCII-Zeichen einträgt.  
    Und schließlich sollte man daran denken, dass Benutzereingaben immer fehlerhaft sein können, auch mutwillig fehlerhaft. Darum muss man immer dafür sorgen, dass auch irgendwelcher Blödsinn keinen Schaden anrichtet. Gut, hier landen alle Benutzereingaben ausschließlich im Mail-Text, da kann nichts passieren. Bei Benutzereingaben in Headerzeilen (z.B. im Subject) sähe das schon wieder anders aus.  
      
    Ciao,  
     Martin  
      
      
      
    [\*] Ja, früher, gaanz früher, als die Erde noch eine flache Scheibe war, wurde in der PHP-Konfiguration bei vielen Hostern register\_globals aktiviert, so dass sämtliche GET- und POST-Parameter als gleichnamige Variablen im Script landeten. Das ist aber schon seit Jahren nicht mehr üblich.
    
    -- 
    Das Gehirn ist schon eine tolle Sache: Es fängt ganz von allein an zu arbeiten, wenn man morgens aufsteht, und hört erst damit auf, wenn man in der Schule ankommt.  
      (alte Schülererkenntnis)  
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    
    1. [*] Ja, früher, gaanz früher, als die Erde noch eine flache Scheibe war, wurde in der PHP-Konfiguration bei vielen Hostern register_globals aktiviert, so dass sämtliche GET- und POST-Parameter als gleichnamige Variablen im Script landeten. Das ist aber schon seit Jahren nicht mehr üblich.

      Sagt ja die Homepage lag 6 Jahre im Dreck und ist vor sich verstaubt. das mitz den globel Variablen werde ich versuchen, Header werde ich ebenfalls ändern.