Pflichtfelder

bluecrystal21

Grünschnabel
Hallo ich möchte gern Pflichtfelder Farbig hinterlegen Könnte mir jemand sagen wo was eingefügt werden muss?
Code:
<?php
error_reporting( -1 );
ini_set('display_errors', TRUE);
ob_start();
setlocale(LC_TIME, "de_DE");
date_default_timezone_set("Europe/Berlin");
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<style type="text/css">
<!--
.text {
        position: relative;
        margin-top: 160px;
        height: 160px;
        font-color: yellow;
}
-->
</style>
 <title>Supportinfo</title>
</head>
<body background="hintergrundfertig.png" alt="Bild">
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
<div align="right" style="position:absolute;top:190px; right:0px;"><font color="yellow"><b>
Nachname:<input type="text" name="Nachname" size="50" /><br />
Vorname:<input type="text" name="Vorname" size="50" /><br />
E-Mail:<input type="text" name="Email" size="50" /><br />
Betreff:<input type="text" name="Betreff" size="50" /><br />
<textarea name="Nachricht" cols="60" rows="20"></textarea><br />
<input type="submit" value="Senden" /><input type="reset" value="Abbrechen" />

</div>
</form>

<?php
if(isset($_POST['Nachname']))
{
  $komplett= true;

  $Email = $_POST['Email'];
  $Betreff = $_POST['Betreff'];
  $Nachricht = $_POST['Nachricht'];
  $Nachname = $_POST['Nachname'];
  $Vorname = $_POST['Vorname'];
  $Datum = date('d-m-y');
  $Uhrzeit = date('h-i-s');
  $Trennzeichen= ("_");
  $Leerzeichen = (" ");
  $Datei = $Vorname.$Trennzeichen.$Nachname.$Trennzeichen.$Datum.$Trennzeichen.$Uhrzeit.".txt";
  $Text = $Vorname.$Leerzeichen. $Nachname.$Leerzeichen. $Email.$Leerzeichen.$Datum.$Leerzeichen. $Uhrzeit.$Leerzeichen.$Betreff.$Nachricht;
if ($Email == ""  Or $Betreff == "" Or $Nachricht == "" Or $Nachname=="" Or $Vorname=="" )
{$komplett = false ;
  echo "<p align=\"center\" class=\"text\"> Bitte fuellen sie alle Felder aus!</p>";  }
if ($komplett)
{
  $FilePointer = fopen($Datei, "w");
  fwrite($FilePointer, $Text);
  fclose($FilePointer);
}
  if(file_exists($Datei))
{
?>
<script type="text/javascript">
    alert("Ihre Email wurde versendet.");
  </script>
<?php
}
}
?>
<script type="javascript">
<STYLE type="text/css">
.okButton {

background-color: #D4D4D4;
font-color: #000000;
font-size: 9pt;
font-family: arial;
width: 70px;
height: 20px;
}
.alertTitle {
background-color: #3C56FF;
font-family: arial;
font-size: 9pt;
color: #FFFFFF;
font-weight: bold;
}
.alertMessage {
font-family: arial;
font-size: 9pt;
color: #000000;
font-weight: normal;
}
.alertBoxStyle {
cursor: default;
filter: alpha(opacity=90);
background-color: #E4E4E4;
position: absolute;
top: 200px;
left: 200px;
width: 100px;
height: 50px;
visibility:hidden; z-index: 999;
border-style: groove;
border-width: 5px;
border-color: #FFFFFF;
</STYLE>
<div id="alertLayer" class=alertBoxStyle></div>
<SCRIPT LANGUAGE="JavaScript">
function BrowserCheck() {
var b = navigator.appName;
if (b == "Netscape") this.b = "NS";
else if (b == "Microsoft Internet Explorer") this.b = "IE";
else this.b = b;
this.v = parseInt(navigator.appVersion);
this.NS = (this.b == "NS" && this.v>=4);
this.NS4 = (this.b == "NS" && this.v == 4);
this.NS5 = (this.b == "NS" && this.v == 5);
this.IE = (this.b == "IE" && this.v>=4);
this.IE4 = (navigator.userAgent.indexOf('MSIE 4')>0);
this.IE5 = (navigator.userAgent.indexOf('MSIE 5')>0);
if (this.IE5 || this.NS5) this.VER5 = true;
if (this.IE4 || this.NS4) this.VER4 = true;
this.OLD = (! this.VER5 && ! this.VER4) ? true : false;
this.min = (this.NS||this.IE);
}
is = new BrowserCheck();
alertBox = (is.VER5) ? document.getElementById("alertLayer").style
: (is.NS) ? document.layers["alertLayer"]
: document.all["alertLayer"].style;
function hideAlert(){
alertBox.visibility = "hidden";}
function makeAlert(aTitle,aMessage){
document.all.alertLayer.innerHTML = "<table border=0 width=100% height=100%>" +
"<tr height=5><td colspan=4 class=alertTitle>" + " " + aTitle + "</td></tr>" +
"<tr height=5><td width=5></td></tr>" +
"<tr><td width=5></td><td width=20 align=left><img src='alert.gif'></td><td align=center class=alertMessage>" + aMessage + "<BR></td><td width=5></td></tr>" +
"<tr height=5><td width=5></td></tr>" +
"<tr><td width=5></td><td colspan=2 align=center><input type=button value='OK' onClick='hideAlert()' class=okButton><BR></td><td width=5></td></tr>" +
"<tr height=5><td width=5></td></tr></table>";
//thisText = aMessage.length;
thisText = 2000
if (aTitle.length > aMessage.length){ thisText = aTitle.length; }
aWidth = (thisText * 5) + 80;
aHeight = 100;
if (aWidth < 150){ aWidth = 200; }
if (aWidth > 350){ aWidth = 350; }
if (thisText > 60){ aHeight = 110; }
if (thisText > 120){ aHeight = 130; }
if (thisText > 180){ aHeight = 150; }
if (thisText > 240){ aHeight = 170; }
if (thisText > 300){ aHeight = 190; }
if (thisText > 360){ aHeight = 210; }
if (thisText > 420){ aHeight = 230; }
if (thisText > 490){ aHeight = 250; }
if (thisText > 550){ aHeight = 270; }
if (thisText > 610){ aHeight = 290; }
alertBox.width = aWidth;
alertBox.height = aHeight;
alertBox.left = (document.body.clientWidth - aWidth)/2;
alertBox.top = (document.body.clientHeight - aHeight)/2;
alertBox.visibility = "visible";
}
// WHEN YOU WANT TO GENERATE AN ALERT DO THIS:
// CALL THE makeAlert FUNCTION AND PASS THE ALERT TITLE AND THE MESSAGE
// TO THE FUNCTION.
// eg. makeAlert('My Alert Title' , 'My Alert Message');
</SCRIPT>
</body>
</html>
Vielen Dank für eure Hilfe :)
 
Du legst im CSS für die Pflichtfelder eine Klasse an, und definierst ihre gewünschte Hintergrundfarbe:
CSS:
.pflichtfeld { background-color: ...; }
und rufst diese mit dem class-Attribut in den entsprechenden Elementen auf - hier anhand von "Nachname":
HTML:
Nachname:<input type="text" name="Nachname" size="50" class="pflichtfeld" />

Fertitsch.
 
Zuletzt bearbeitet:
jetz hab ich doch noch ein Problem
jetz wird ja quasi gleich von anfang an rot angezeigt aber bei Überprüfung bleibts ja wenn ich auf senden klick und genau das soll eben erst kommen wenn ein Feld ausgelassen wurde
 
Entweder du benutzt dazu HTML5 (http://devfiles.myopera.com/articles/67/example.html) wovon ich aber abraten würde - da die meisten Browser damit nicht umgehen können.
Du kannst aber auch Javascript oder / und PHP benutzen. Am besten Beides :)

Ich hätte dir gerne ein Beispiel geschrieben - aber es ist schon ziemlich spät.
Probier einfach mal den Wert abzufragen und bei einem Fehler die Klasse .pflichlfeld zu setzen
 
Ich habe es das letzte mal so gelöst:
Im gleichen File, welches auch das Formular anzeigt habe ich am Anfang überprüft ob die Werte übergeben werden.
(Beim Click auf den Submit-Button wird das selbe File nochmals geladen und die Werte übergeben)
Wenn nun werte übergeben werden, wird geprüft ob alle Pflichtwerte vorhanden sind. Wenn nicht, wird ein Errorcode erstellt.
Anhand von diesem kannst du dann beim erneuten Formular anzeigen darauf ein gehen (PHP).
Also nach "class=" den PHP-Code, welcher den Errorcode überprüft und dann entsprechend die Klasse setzt.
Hoffe konnte dir weiterhelfen.;-)
 
Zurück