Formulardaten in html-Tabelle ausgeben?

Schiesti

Mitglied
Hallo!

Überarbeite gerade mein Bestellformular welches mir die Daten über netzz.de-Formularchef per Mail weiterleitet, da mein alter Server kein php unterstützt hat :mad:

So - der neue kanns und damit rein in die "php-Welt" :rolleyes:

Bastel also grad an der Datei bestellen.php erstellt die bisher wie folgt aussieht:

PHP:
<html>
<head>
<style type="text/css">
form { background-image:url(background.gif); padding:20px; border:6px solid #ddd; }
td, input, select, textarea { font-size:10px; font-family:Verdana,sans-serif; font-weight:bold; }
input, select, textarea { color:#00c; }
.Bereich, .Feld { background-color:#ffa; width:300px; border:6px solid #ddd; }
.Auswahl { background-color:#dff; width:300px; border:6px solid #ddd; }
.Check, .Radio { background-color:#ddff; border:1px solid #ddd; }
.Button { background-color:#aaa; color:#fff; width:200px; border:6px solid #ddd; }
</style>
</head> 
 <body> 
  
 <?php  
 
 
 if($_REQUEST['submit']) 
 { 
    
 // Variabeln 
  $mh1 = stripslashes(htmlspecialchars($_POST['mh1']));
  $ort1 = stripslashes(htmlspecialchars($_POST['ort1']));
  $name1 = stripslashes(htmlspecialchars($_POST['name1'])); 
  $endzahl1 = stripslashes(htmlspecialchars($_POST['endzahl1']));
  $vorname = stripslashes(htmlspecialchars($_POST['vorname']));  
  $nachname = stripslashes(htmlspecialchars($_POST['nachname']));  
  $email = stripslashes(htmlspecialchars($_POST['email']));  
  $kommentar = stripslashes(htmlspecialchars($_POST['kommentar']));  
  
  
 if(!empty($_POST['email']) && !empty($_POST['vorname']) && !empty($_POST['nachname'])) 
 { 
    
 // Inhalt der Mail  
  $mailnachricht = "Sie haben einen neuen Auftrag !\n------------------------------------\nEr hat folgendes bestellt:  
  
  Kennzeichen 1:\n
  Mit Halterung: $mh1
  Ort/Stadt: $ort1
  Name: $name1
  Endzahl: $endzahl1\n
  
  Vorname: $vorname
  Nachname: $nachname"
  
;  
    
 // Hier wird die Nachricht versendet. BITTE HIER IHRE EMAIL ADRESSE EINTRAGEN !  
  mail("XXX@XXXXX.at", "Auftrag: $typ", "$mailnachricht", "From: <$email>");  
    
 // Bestätigung  
  echo "<p><font style=\"color:darkgreen; font-family:Geneva, Arial, Helvetica, sans-serif; font-size:12px\"><b>Vielen Dank  
  
 f&uuml;r Ihren Auftrag. Wir werden Sie so schnell wie m&ouml;glich kontaktieren.</font></p>";  
  
 } 
  
 else 
  
 { 
  echo "<p><font style=\"color:darkred; font-family:Geneva, Arial, Helvetica, sans-serif; font-size:12px\"><b>Bitte  
  
 f&uuml;llen Sie alle Pflichtfelder aus!</font></p>";  
  
 } 
  
 } 
  
 ?> 
  
  
  <form action="bestellen.php"  method="post"> 
  <table width="100%" border="0" cellpadding="0" cellspacing="0"> 
    <tr> 
      <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr> 
            <td>mit Halterung</td>
            <td><select name="mh1" id="mh1">
                <option selected>Ja</option>
                <option>Nein</option>
              </select></td>
          </tr>
          <tr> 
            <td>Ort/Stadt</td>
            <td><input name="ort1" type="text" id="ort1" maxlength="2"></td>
          </tr>
          <tr> 
            <td>Name</td>
            <td><input name="name1" type="text" id="name1"></td>
          </tr>
          <tr> 
            <td>Endzahl</td>
            <td><input name="endzahl1" type="text" id="endzahl1"></td>
          </tr>
          <tr> 
            <td width="10%"><table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr> 
                  <td>&nbsp;</td>
                </tr>
              </table></td>
            <td width="90%">Pers&ouml;nliche Daten: </td>
          </tr>
          <tr> 
            <td height="18px">Vorname*:</td>
            <td><input name="vorname" type="text" id="name" size="35" /></td>
          </tr>
          <tr> 
            <td height="18px">Nachname*:</td>
            <td><input name="nachname" type="text" id="nickname" size="35" /></td>
          </tr>
          <tr> 
            <td height="18px">Email*:</td>
            <td><input name="email" type="text" id="email"></td>
          </tr>
          <tr> 
            <td height="18px">IP:</td>
            <td><?php echo getenv('REMOTE_ADDR'); ?></td>
          </tr>
          <tr> 
            <td>&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr> 
            <td valign="top">Kommentar:</td>
            <td height="18px"><span class="table2"> 
              <textarea name="kommentar" rows="8" id="beschreibung" style="width:300px;"></textarea>
              </span></td>
          </tr>
          <tr> 
            <td>&nbsp;</td>
            <td>* = Pflichtfeld </td>
          </tr>
          <tr> 
            <td><div align="right"></div></td>
            <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr> 
                  <td height="18px"> <div align="left"> 
                      <input name="submit" type="submit" value="Senden" />
                      <input name="reset" type="reset" value="Zur&uuml;cksetzen" />
                    </div></td>
                </tr>
              </table></td>
          </tr>
        </table></td> 
    </tr> 
  </table> 
  </form> 
  </body> 
  </html>

Wie man sieht werden die eingegebenen Daten ziemlich formlos in einer Mail übermittelt!

Ich hätte es jedoch gerne in einer Tabelle - (html-Tabelle?) per Mail an mich gesandt!

Brauch ich dazu wahrscheinlich eine 2. php-Datei?

Vielen Dank, liebe Grüße
 
Nein, brauchst du nicht.

PHP:
$mailnachricht = '
<html>
<head>
<title>Bestellung</title>
</head>
<body>
<table>
 <tr>
    <td colspan="2">Sie haben einen neuen Auftrag.<br/>
    --------------------------<br/>
    Er hat folgendes bestellt:
    </td>
 </tr>
</table>
</body>
</html> ';

Dementsprechend einfach komplettieren und es sollte funktionieren.
 
Nein so ganz funktioniert das leider nicht - wahrscheinlich muss ich die Variablen irgendwie anders einfügen oder?

<html>
<head>
<style type="text/css">
form { background-image:url(background.gif); padding:20px; border:6px solid #ddd; }
td, input, select, textarea { font-size:10px; font-family:Verdana,sans-serif; font-weight:bold; }
input, select, textarea { color:#00c; }
.Bereich, .Feld { background-color:#ffa; width:300px; border:6px solid #ddd; }
.Auswahl { background-color:#dff; width:300px; border:6px solid #ddd; }
.Check, .Radio { background-color:#ddff; border:1px solid #ddd; }
.Button { background-color:#aaa; color:#fff; width:200px; border:6px solid #ddd; }
</style>
</head>
<body>

<?php


if($_REQUEST['submit'])
{

// Variabeln
$mh1 = stripslashes(htmlspecialchars($_POST['mh1']));
$ort1 = stripslashes(htmlspecialchars($_POST['ort1']));
$name1 = stripslashes(htmlspecialchars($_POST['name1']));
$endzahl1 = stripslashes(htmlspecialchars($_POST['endzahl1']));
$vorname = stripslashes(htmlspecialchars($_POST['vorname']));
$nachname = stripslashes(htmlspecialchars($_POST['nachname']));
$email = stripslashes(htmlspecialchars($_POST['email']));
$kommentar = stripslashes(htmlspecialchars($_POST['kommentar']));


if(!empty($_POST['email']) && !empty($_POST['vorname']) && !empty($_POST['nachname']))
{



// Ausgabe in Tabelle

$mailnachricht = '
<html>
<head>
<title>BESTELLUNG</title>

</head>

<body>
<table width="75%" border="1">
<tr>
<td width="15%">Vorname:</td>
<td width="85%">$vorname</td>
</tr>
<tr>
<td>Nachname:</td>
<td>$nachname</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>EU-Zeichen</td>
<td>$mh1</td>
</tr>
<tr>
<td>Ort/Stadt</td>
<td>$ort1</td>
</tr>
<tr>
<td>Name</td>
<td>$name1</td>
</tr>
<tr>
<td>Endzahl</td>
<td>$endzahl1</td>
</tr>
</table>
</body>
</html> ';

// Hier wird die Nachricht versendet. BITTE HIER IHRE EMAIL ADRESSE EINTRAGEN !
mail("XXX@XXXXX.at", "Auftrag: $typ", "$mailnachricht", "From: <$email>");

// Bestätigung
echo "<p><font style=\"color:darkgreen; font-family:Geneva, Arial, Helvetica, sans-serif; font-size:12px\"><b>Vielen Dank

f&uuml;r Ihren Auftrag. Wir werden Sie so schnell wie m&ouml;glich kontaktieren.</font></p>";

}

else

{
echo "<p><font style=\"color:darkred; font-family:Geneva, Arial, Helvetica, sans-serif; font-size:12px\"><b>Bitte

f&uuml;llen Sie alle Pflichtfelder aus!</font></p>";

}

}

?>


<form action="bestellen.php" method="post">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>mit Halterung</td>
<td><select name="mh1" id="mh1">
<option selected>Ja</option>
<option>Nein</option>
</select></td>
</tr>
<tr>
<td>Ort/Stadt</td>
<td><input name="ort1" type="text" id="ort1" maxlength="2"></td>
</tr>
<tr>
<td>Name</td>
<td><input name="name1" type="text" id="name1"></td>
</tr>
<tr>
<td>Endzahl</td>
<td><input name="endzahl1" type="text" id="endzahl1"></td>
</tr>
<tr>
<td width="10%"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>&nbsp;</td>
</tr>
</table></td>
<td width="90%">Pers&ouml;nliche Daten: </td>
</tr>
<tr>
<td height="18px">Vorname*:</td>
<td><input name="vorname" type="text" id="name" size="35" /></td>
</tr>
<tr>
<td height="18px">Nachname*:</td>
<td><input name="nachname" type="text" id="nickname" size="35" /></td>
</tr>
<tr>
<td height="18px">Email*:</td>
<td><input name="email" type="text" id="email"></td>
</tr>
<tr>
<td height="18px">IP:</td>
<td><?php echo getenv('REMOTE_ADDR'); ?></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td valign="top">Kommentar:</td>
<td height="18px"><span class="table2">
<textarea name="kommentar" rows="8" id="beschreibung" style="width:300px;"></textarea>
</span></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>* = Pflichtfeld </td>
</tr>
<tr>
<td><div align="right"></div></td>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="18px"> <div align="left">
<input name="submit" type="submit" value="Senden" />
<input name="reset" type="reset" value="Zur&uuml;cksetzen" />
</div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</form>
</body>
</html>
 
Hallo Schiesti,

versuch doch mal, wie es sich verhält, wenn du
PHP:
$mailnachricht "";
benutzt anstatt
PHP:
$mailnachricht '';
.

PHP:
$a = test;

echo "das ist ein  $a";
//Ausgabe: das ist ein test

echo 'das ist ein  $a';
//Ausgabe: das ist ein $a

mfG

5noOPY
 
PHP:
<html>
// Ausgabe in Tabelle

$mailnachricht = '
<html>
<head>
<title>BESTELLUNG</title>

</head>

<body>
<table width="75%" border="1">
<tr>
<td width="15%">Vorname:</td>
<td width="85%">'.$vorname.'</td>
</tr>
<tr>
<td>Nachname:</td>
<td>'.$nachname.'</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>EU-Zeichen</td>
<td>'.$mh1.'</td>
</tr>
<tr>
<td>Ort/Stadt</td>
<td>'.$ort1.'</td>
</tr>
<tr>
<td>Name</td>
<td>'.$name1.'</td>
</tr>
<tr>
<td>Endzahl</td>
<td>'.$endzahl1.'</td>
</tr>
</table>
</body>
</html> ';

So sieht das doch schon viel besser aus.

Und benutze bitte die [php ][/php ] Tags, wenn du Code postest.
 
so jetzt einmal vielen vielen Dank für die raschen und sehr hilfreichen Antworten!

Das Ergebnis der von mir zugesandten Daten sieht jetzt so aus:

<html>
<head><title>BESTELLUNG</title></head>
<body>
<table width="75%" border="1">
<tr><td width="15%">Vorname:</td><td width="85%">Chris</td></tr>
<tr><td>Nachname:</td><td>SCHISCH</td></tr>
<tr><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>EU-Zeichen</td><td>Ja</td></tr>
<tr><td>Ort/Stadt</td><td>WU</td></tr>
<tr><td>Name</td><td>WIENER</td></tr>
<tr><td>Endzahl</td><td>12</td></tr>
</table>
</body>
</html>

Soweit so gut - sieht toll aus und übermittelt auch die Daten ...

... ist es jedoch auch möglich diese Daten in einer eigenen html-Datei zu übermitteln? Also als Anhang an die an mich gesandte Mail?
 
Guten Morgen,

schau dir mal Beispiele zu Mail Headern an, da liegt dein jetziges Problem, da der Mailserver deine Mail als reine TextMail ansieht interpretiert dein Client auch keine HMTL Tags. Für solche Sachen gibts dann in der mail() Function einen optionales 4. Argument. Einfach mal die Referenz bemühen.
 
also liegts an meinem maileinstellung bei (in diesem falle) gmx?

ist es möglich die an mich übermittelte html-datei als anhang im mail mitzuschicken?
 
Auch HTML-E-Mails können mit mail() versendet werden.
PHP:
<?php
// mehrere Empfänger
$empfaenger  = 'max@example.com' . ', '; // beachten Sie das Komma
$empfaenger .= 'moritz@example.com';

// Betreff
$betreff = 'Geburtstags-Erinnerungen für August';

// Nachricht
$nachricht = '
<html>
<head>
  <title>Geburtstags-Erinnerungen für August</title>
</head>
<body>
  <p>Hier sind die Geburtstage im August:</p>
  <table>
    <tr>
      <th>Person</th><th>Tag</th><th>Monat</th><th>Jahr</th>
    </tr>
    <tr>
      <td>Julia</td><td>3.</td><td>August</td><td>1970</td>
    </tr>
    <tr>
      <td>Tom</td><td>17.</td><td>August</td><td>1973</td>
    </tr>
  </table>
</body>
</html>
';

// für HTML-E-Mails muss der 'Content-type'-Header gesetzt werden
$header  = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// zusätzliche Header
$header .= 'To: Simone <simone@example.com>, Andreas <andreas@example.com>' . "\r\n";
$header .= 'From: Geburtstags-Erinnerungen <geburtstag@example.com>' . "\r\n";
$header .= 'Cc: geburtstagsarchiv@example.com' . "\r\n";
$header .= 'Bcc: geburtstagscheck@example.com' . "\r\n";

// verschicke die E-Mail
mail($empfaenger, $betreff, $nachricht, $header);
?>

Ist aus: [phpf]mail[/phpf].

Das hätte man auch gefunden, wenn du mal dort nachgeguckt hättest, wie Badboyws vorgeschlagen hat.
 

Neue Beiträge

Zurück