Pflichtfelder in HTML Formular

Status
Nicht offen für weitere Antworten.

st0ny

Grünschnabel
Hallo liebe Leute,

ich habe ein riesiges Problem, bei dem ihr mir unbedingt weiterhelfen müsst.
Mein lustiger Chef hat mich beauftragt ein Onlineformular zu schreiben, wofür und wieso ist jetzt eigentlich nebensächlich. Auch wenn ich bisher so garnichts mit HTML & Co. am Hut hatte, habe ich mich mal an die Arbeit gemacht und mithilfe verschiedener Tuts nun mein erstes Formular fertig das auch funktioniert. Doch dem nicht genug: nun möchte er, dass gewisse Felder zu Pflichtfeldern werden. Tja, da dies wohl mit HTML nicht machbar ist, sehe ich mich nun völlig ausgeliefert, da ich als HTML-Neuling wohl erst garnicht mit Dingen wie JS oder PHP anfangen brauch. Deshalb wollte ich fragen, ob hier jemand vielleicht so freundlich wäre, mir ein paar Pflichtfelder in mein Formular zu bauen, falls da wer Lust und Zeit hätte.

Meine formular.htm enthält folgendes:

Code:
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<title>Instandsetzungsauftrag an Götz-Management Holding AG</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<style type="text/css"> 
<!-- 
input {width:200px;} 
.button {width:100px} 
.texttd {width:150px;font-weight:bold;} 
--> 
</style> 
</head> 
<body style="text-align:center"> 
 <img src="img/logo.jpg" style="width:600px;height:100px;margin:auto;padding:10px 0px 20px"> 

<form method="post" action="senden.php"> 

<table border="0" cellspacing="10" cellpadding="0" style="margin:auto;border:1px outset #6F6F6F;padding:10px;"> 
 <tr> 
  <td class="texttd">Ihr Name:</b></td> 
  <td><input type="text" name="name"></td> 
 </tr> 
 <tr> 
  <td class="texttd">Ihre Abteilung:</b></td> 
  <td><input type="text" name="abteilung" size="25"></td> 
 </tr> 
 <tr> 
  <td class="texttd">E-Mail:</b></td> 
  <td><input type="text" name="email"></td> 
 </tr> 
 <tr> 
  <td class="texttd">Tel.:</b></td> 
  <td><input type="text" name="tel"></td> 
 </tr> 
 <tr> 
  <td class="texttd">Fax:</td> 
  <td><input type="text" name="fax"></td> 
 </tr> 
 <tr> 
  <td class="texttd">Kurzbeschreibung:</td> 
  <td><input type="text" name="kurzbeschreibung"></td> 
 </tr> 
 <tr> 
  <td style="vertical-align:top"><b>Problembericht:</b></td> 
  <td><textarea name="bericht" rows="6" cols="50"></textarea></td> 
 </tr> 
 <tr> 
  <td colspan="2" style="text-align:center"> 
   <input class="button" type="submit" name="Button" value="Abschicken"> 
   <input class="button" type="reset" name="Button" value="Zurücksetzen"> 
  </td> 
 </tr> 
</table> 
</form> 
</body> 
</html>

Dann habe ich noch eine senden.php, in der folgendes steht:

Code:
<?PHP 
extract($_POST); 
$bericht = stripcslashes(nl2br($bericht)); 

$header  = "From: $email\n"; 
$header .= "MIME-Version: 1.0\n"; 
$header .= "Content-Type: text/html;\n"; 
$header .= "X-Mailer: PHP/".phpversion(); 
$empfaenger = "xxx"; 
$subject = "Instandsetzungsauftrag"; 

echo "<center><u><b>Sie haben folgende Angaben gemacht:</u><p> "; 
$message = " 
<table border='0' cellspacing='0' cellpadding='10' style='width:700px;margin:50px auto;border:1px solid #7F7F7F'> 
 <colgroup> 
  <col style='width:200px'></col> 
  <col></col> 
 </colgroup> 
  <tr> 
  <td>&lt;Start Name&gt;</b></td><td>$name &lt;End Name&gt;</td>
  </tr> 
  <tr> 
  <td>&lt;Start Abteilung&gt;</b></td><td>$abteilung &lt;End Abteilung&gt;</td> 
  </tr> 
  <tr> 
  <td>&lt;Start Email&gt;</b></td><td>$email &lt;End Email&gt;</td>
  </tr> 
  <tr> 
  <td>&lt;Start Telefon&gt;</b></td><td>$tel &lt;End Telefon&gt;</td> 
  </tr> 
  <tr> 
  <td>&lt;Start Fax&gt;</td><td>$fax &lt;End Fax&gt;</td> 
  </tr> 
  <tr> 
  <td>&lt;Start Kurzbeschreibung&gt;</b></td><td>$kurzbeschreibung &lt;End Kurzbeschreibung&gt;</td> 
  </tr>
  <tr> 
  <td style='vertical-align:top'>&lt;Start Problembericht&gt;</td><td>$bericht &lt;End Problembericht&gt;</td>
  </tr> 
</table> 
"; 
echo "$message<p>"; 

$send = @mail($empfaenger, $subject, $message, $header); 
if($send) 
   { 
   echo "Wir haben ihre Nachricht erhalten"; 
   } 
   else 
     { 
     echo "Ihre Nachricht konnte nicht übermittelt werden,<br>bitte versuchen Sie es später noch einmal"; 
     } 
?>

Ok, also wenn irgendeiner Zeit hat, da vielleicht was zu machen, wäre mir sooo riesig geholfen. Ich hoffe, das ist nicht zuviel verlangt.
Also, dann wünsche ich euch noch einen schönen (vielleicht sogar Ferien)Tag. ;)

Mfg
 
PHP:
<?PHP 
extract($_POST); 
$bericht = stripcslashes(nl2br($bericht)); 

$header  = "From: $email\n"; 
$header .= "MIME-Version: 1.0\n"; 
$header .= "Content-Type: text/html;\n"; 
$header .= "X-Mailer: PHP/".phpversion(); 
$empfaenger = "xxx"; 
$subject = "Instandsetzungsauftrag"; 

$error[0] = false; // noch kein fehler
if ($_POST["abteilung"] == ""){ //exemplarisch für alle anderen wird überprüft ob im Feld "abteilung" etwas übergeben worden ist
	$error_text[0] = "Sie haben keine Abteilung angegeben"; // wenn nicht wird ein text deffiniert der dann irgendwo ausgegeben werden kann
	$error[0] = true; // und natürlich brauchen wir noch eine variable die an der wir erkennen wo der fehler aufgetreten ist
}

echo "<center><u><b>Sie haben folgende Angaben gemacht:</u><p> "; 
$message = " 
<table border='0' cellspacing='0' cellpadding='10' style='width:700px;margin:50px auto;border:1px solid #7F7F7F'> 
 <colgroup> 
  <col style='width:200px'></col> 
  <col></col> 
 </colgroup> 
  <tr> 
  <td>&lt;Start Name&gt;</b></td><td>$name &lt;End Name&gt;</td>
  </tr> 
  <tr> 
  <td>&lt;Start Abteilung&gt;</b></td><td>$abteilung &lt;End Abteilung&gt;</td> 
  </tr> 
  <tr> 
  <td>&lt;Start Email&gt;</b></td><td>$email &lt;End Email&gt;</td>
  </tr> 
  <tr> 
  <td>&lt;Start Telefon&gt;</b></td><td>$tel &lt;End Telefon&gt;</td> 
  </tr> 
  <tr> 
  <td>&lt;Start Fax&gt;</td><td>$fax &lt;End Fax&gt;</td> 
  </tr> 
  <tr> 
  <td>&lt;Start Kurzbeschreibung&gt;</b></td><td>$kurzbeschreibung &lt;End Kurzbeschreibung&gt;</td> 
  </tr>
  <tr> 
  <td style='vertical-align:top'>&lt;Start Problembericht&gt;</td><td>$bericht &lt;End Problembericht&gt;</td>
  </tr> 
</table> 
"; 
echo "$message<p>"; 

echo $error_text[0]; // wird nur ausgegeben wenn nichts eingegeben wurde weil sonst die variable lehr bzw nicht deffiniert ist

if($error[0] !== true){ // und um das mail nicht zu verschicken wenn ein fehler aufgetreten ist
	$send = @mail($empfaenger, $subject, $message, $header); 
	if($send) 
	{ 
	echo "Wir haben ihre Nachricht erhalten"; 
	} 
	else 
	{ 
	echo "Ihre Nachricht konnte nicht übermittelt werden,<br>bitte versuchen Sie es später noch einmal"; 
	} 
}
?>

Bittesehr für deinen lustigen Chef. Das Prinzip sollte verständlich sein. Sonst halt nachfragen.
 
Guten Morgen,

erstmal vielen Dank für deine Hilfe. Allerdings bekomme ich immer folgenden Fehler ausgespuckt, wenn ich das Formular ausgefüllt habe, egal was ich eingebe und was nicht:

Parse error: syntax error, unexpected $end in /home/www/web52/html/senden.php on line 75

Vielleicht kann da ja jemand nochmal nen Blick drauf werfen.

Mfg
 
Status
Nicht offen für weitere Antworten.
Zurück