inspiron: Formularfelder werden nach submit nicht gelöscht

Hallo, ich habe da mal n' Problem mit meinem Formular. Folgendes, wenn ich "speichern" drücke werden die eingetragenen Daten in die Datenbank eingetragen, das geht soweit. Nur werden einige Formularfelder nicht richtig geleert!

zBsp. die "input" Felder: ---------------                     --------------- I   12:30     I vorher, nach submit I             I 12:30 steht der Eintrag ---------------                     --------------- außerhalb des "input" Feldes!

Kann mir bitte jemand helfen, woran es liegen kann!

Gruß


<?php
//******************************************************************************
// Eingabeformular bericht.php
//******************************************************************************

//  Datenbankzugriff
include("admin/includes/config.php");

// Formulardaten einlesen (PHP und HTML Tags entfernen)
if (isset($_POST['eintragen']))

{
// Inhalte der Felder aus POST holen

    $UHRZEIT = $_POST['UHRZEIT'];
    $DAUER = $_POST['DAUER'];
    $FEHLERKATEGORIE = $_POST['FEHLERKATEGORIE'];
    $ONAIR = $_POST['ONAIR'];
    $BESCHREIBUNG = $_POST['BESCHREIBUNG'];
    $MASSNAHME = $_POST['MASSNAHME'];
    $VERMEIDUNG = $_POST['VERMEIDUNG'];
    $ANMERKUNG = $_POST['ANMERKUNG'];
    $M_NAME = $_POST['M_NAME'];
    $SCHICHT = $_POST['SCHICHT'];
    $ORT = $_POST['ORT'];


// Maskierende Slashes aus POST entfernen
    $_POST = get_magic_quotes_gpc() ? array_map( 'stripslashes', $_POST ) : $_POST;

    /* ************************************************************************************************ */
    /* *** Hier sollten und MUESSEN die Benutzereingaben geprueft werden um Schadcode abzufangen!!! *** */
    /* ************************************************************************************************ */

    // Sind alle Eingaben durch die Validierung gekommen werden sie in die DB geschrieben
    // Verbindung oeffnen und Datenbank ausweahlen
    $conID = mysql_connect( $db_host, $db_user, $db_pass ) or die( "Die Datenbank konnte nicht erreicht werden!" );
    if ($conID)
    {
        mysql_select_db( $db_name, $conID );
    }

// Das Datum wird erzeugt
$datum = time();



    // Anfrage zusammenstellen der an die DB geschickt werden soll
    $sql = "INSERT INTO `bericht`
                (`DATUM`, `UHRZEIT`, `DAUER`, `FEHLERKATEGORIE`, `ONAIR`, `BESCHREIBUNG`, `MASSNAHME`, `VERMEIDUNG`, `ANMERKUNG`, `M_NAME`, `SCHICHT`, `ORT` )
            VALUES(
            	'".$datum."',
            	'" .mysql_real_escape_string( $UHRZEIT ). "',
            	'" .mysql_real_escape_string( $DAUER ). "',
            	
            	'" .mysql_real_escape_string( $FEHLERKATEGORIE ). "',
            	'" .mysql_real_escape_string( $ONAIR ). "',
            	'" .mysql_real_escape_string( $BESCHREIBUNG ). "',
            	'" .mysql_real_escape_string( $MASSNAHME ). "',
            	'" .mysql_real_escape_string( $VERMEIDUNG ). "',
            	'" .mysql_real_escape_string( $ANMERKUNG ). "',
            	'" .mysql_real_escape_string( $M_NAME ). "',
                '" .mysql_real_escape_string( $SCHICHT ). "',
                '" .mysql_real_escape_string( $ORT ). "'
                )";

    // Schickt die Anfrage an die DB und schreibt die Daten in die Tabelle
    mysql_query( $sql );
    // Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde
    if (mysql_affected_rows() == 1)
    {
        echo "<h3>Der Datensatz wurde hinzugefügt!</h3>";
        // Hier kann weiterer Code stehen der ausgefuehrt werden soll
        // wenn ein Eintrag erfolgreich war. z.B. Email an den Admin schicken
        // der ueber den neuen Eintrag informiert
    }
    else
    {
        echo "<h3>Der Datensatz konnte <strong>nicht</strong> hinzugefügt werden!</h3>";
        // Hier koennen Massnahmen ergriffen werden die ueber den Misserfolg informieren
        // wie z.B. den Benutzer darueber zu informieren, dem Admin eine Mail schicken
        // damit er sich um den Fehler kuemmern kann, etc pp
    }
	
}

//<?php
  //http://www.php.de/php-fortgeschrittene/17357-date-ausgabe-deutsch.html
  //showing Dates in German lanuage:
  function formatDateString($stamp) {
   //initalise String:
   //Gettting the months set up...
                 $monate = array(
                 1=>"Januar",
                 2=>"Februar",
                 3=>"M&auml;rz",
                 4=>"April",
                 5=>"Mai",
                 6=>"Juni",
                 7=>"Juli",
                 8=>"August",
                 9=>"September",
                 10=>"Oktober",
                 11=>"November",
                 12=>"Dezember");

   //Getting our Month
                 $monat = date("n", $stamp);

   //Getting the Days set up....
                 $tage = array("Sonntag","Montag","Dienstag","Mittwoch",
                     "Donnerstag","Freitag","Samstag");

   //Getting Day....
                   $tag = date("w", $stamp);


  $printme = $tage[$tag].", den ".date("d", $stamp).". ".$monate[$monat]." ".date("Y", $stamp);

  return $printme;
  }
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, www.pspad.com">
  <title>Bericht</title>
  <link href="default.css" rel="stylesheet" type="text/css" />
  </head>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="formular" id="formular">

<body>

<div id="wrapper">
	<div id="header">
		<h1><a href="#">Proding</a></h1>
		<h2><a href="http://123.45.67.8/"><img src="images/WP.png" width="160" height="42"></a></h2>
	</div>
	<div id="menu">
		<ul>
			<li><a href="index.php" accesskey="1" title="">Home</a></li>
			<li class="active"><a href="proding.php" accesskey="2" title="">Proding</a></li>
			<li><a href="#" accesskey="3" title="">MCR</a></li>
			<li><a href="#" accesskey="4" title="">BroadcastService</a></li>
			<li><a href="#" accesskey="5" title="">Admin</a></li>
			<li><a href="#" accesskey="6" title="">MORE</a></li>
			<li><a href="login.php" accesskey="7" title="">CC</a></li>
			
		</ul>
	</div>

<!--<form id="myForm" action=""> -->	

<!-- INHALT -->

<div id="content">
<div id="colOne">

  <div class="reihe_links">
   <fieldset>
    <legend>Datum</legend>
       <span class="feld"><input type="text" class="defbreite2" name="DATUM" value="<?php echo date("d.m.Y"); ?>"><?=$DATUM?></span>
   </fieldset>
  </div>

  <div class="reihe_mitte">
   <fieldset>
    <legend>Uhrzeit</legend>
       <span class="feld"><input type="text" class="defbreite2" name="UHRZEIT"><?=$UHRZEIT?></span>
   </fieldset>
  </div>

  <div class="reihe_rechts">
   <fieldset>
    <legend>Dauer in Min</legend>
       <span class="feld"><input type="text" class="defbreite2" name="DAUER"><?=$DAUER?></span>
   </fieldset>
  </div>



  <div class="reihe_rechts">
   <fieldset>
    <legend>Störung / OnAir</legend>
    	  <!--<span class="feld1"><input type="checkbox" onchange="document.forms.myForm.className = (this.checked ? 'compact' : '');"/></span> --!>
    	  <!--<span class="feld1"><input type="checkbox" onchange="this.parentNode.className = (this.checked ? 'compact' : '');"/>St�rung/ </span> --!>
          <!--<span class="feld1"><input type="checkbox" name="stoerung" value="stoerung">Störung/ </span> --!>
          <span class="feld2"><input type="radio" class="radio" name="OnAir" value="Nein"> Nein<?=$ONAIR?></span>
          <span class="feld2"><input type="radio" class="radio" name="OnAir" value="Ja"> Ja<?=$ONAIR?></span>
   </fieldset>
  </div>

  <div class="reihe">
    <fieldset class="hide">
     <legend>Details</legend>
     <span class="feld">
     <textarea name="BESCHREIBUNG" id="BESCHREIBUNG" class="defbreite" cols="31" rows="4">alles i.O.<?=$BESCHREIBUNG?></textarea>
     </span>
    </fieldset>
  </div>

  <div class="text_links">
    <fieldset>
     <legend>Ergriffene Maßnahmen</legend>
     <span class="feld">
     <textarea name="MASSNAHME" id="MASSNAHME" class="defbreite" cols="31" rows="3"><?=$MASSNAHME?></textarea>
     </span>
    </fieldset>
  </div>

  <div class="text_rechts">
    <fieldset>
     <legend>Maßnahmen zur Fehlervermeidung</legend>
     <span class="feld">
     <textarea name="VERMEIDUNG" id="VERMEIDUNG" class="defbreite" cols="31" rows="3"><?=$VERMEIDUNG?></textarea>
     </span>
    </fieldset>
  </div>

  <div class="reihe">
    <fieldset>
     <legend>Bemerkung</legend>
     <span class="feld">
     <textarea name="ANMERKUNG" id="ANMERKUNG" class="defbreite" cols="31" rows="3"><?=$ANMERKUNG?></textarea>
     </span>
    </fieldset>
  </div>

</div>


<!-- /INHALT -->

<!-- INHALT Links -->

<div id="colTwo">

   <p><fieldset></fieldset></p>

    <div class="knopf">
        <p><input class="submit" type="button" name="Klickmich"  value="Überraschung" onclick="alert('Überraschung!');"/></p>
        <p><input class="submit" type="reset" value="Reset" /></p>
        <p><input class="submit" type="submit" name="eintragen" id="eintragen" value="Speichern"/></p>
        <input class="submit" type="submit" value="email Senden"/>
    </div>

   <fieldset></fieldset>

    <div class="knopf">
        <p><input class="submit" type='button' ONCLICK=window.location.href='admin/phpMyAdmin/index.php' value="Admin"/></p>
        <input class="submit" type="submit" value="Oo=*=oO"/>
    </div>

   <fieldset></fieldset>

</div>

	<div style="clear: both;">&nbsp;</div>
</div>

<!-- /INHALT Links -->

	
	<div id="footer">
		
	</div>

</div>
</body>
</form>
</html>



  1. Hi,

    Nur werden einige Formularfelder nicht richtig geleert!

    zBsp. die "input" Felder:
    ---------------                     ---------------
    I   12:30     I vorher, nach submit I             I 12:30 steht der Eintrag
    ---------------                     ---------------
    außerhalb des "input" Feldes!

    Natürlich, denn genau da schreibt es dein Script ja auch hin:

    <legend>Uhrzeit</legend>
           <span class="feld"><input type="text" class="defbreite2" name="UHRZEIT"><?=$UHRZEIT?></span>

    Du gibst den Vorgabewert nicht als value des Inputs an, sondern hinter dem Input aus, als Textinhalt des umgebenden Spans.  
      
      
    Btw: Diese Verschachtelung  
    
    > ~~~html
    
     <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="formular" id="formular">  
    
    >   
    > <body>  
    > [...]  
    > </body>  
    > </form>  
    > </html>
    
    

    macht das ganze sowieso zu einem Glücksspiel, denn mit derart massiv fehlerhaftem Code kannst du von keinem Browser irgendein definiertes Verhalten erwarten.

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
    1. Hallo,
      dank für die schnelle Antwort aber ich stehe uffn Schlauch. Ich verstehe Die Hinweise gerade nicht!

      1. erledigt!
        :-(

  2. Hallo inspiron,

    ich habe da mal n' Problem mit meinem Formular.

    Wissen wir. Bleib bitte in deinem Thread, Doppelpostings sind hier nicht erwünscht.

    Gruß,
    Tobias

  3. ich habe da mal n' Problem mit meinem Formular.

    Deinem?

    Folgendes, wenn ich "speichern" drücke werden die eingetragenen Daten in die Datenbank eingetragen, das geht soweit.
    Nur werden einige Formularfelder nicht richtig geleert!

    Tja die Felder werden schon geleert. Es wird nämlich gar kein value attribut geschrieben.
    Statt dessen wird mit <input ... ><?=$some_par?> irgend etwas nach oldstyle PHP neben das <input Element geschrieben.
    Was ist da am Quellcode schwierig nachzuvollziehen, bzw das unerwünschte zu entfernen?

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische