mercedes: Formular erneute Passworteinegabe

Hallo,
ich habe ein Formular als Tagesbericht für unsere Mitarbeiter erstellt.
Alle Einträge werden in eine MySQL Datenbank geschrieben was soweit funktioniert.
Da der "Bericht" über die gesamte Schichtzeit geöffnet bleiben muß (es werden dort am Tag anfallende Probleme eingetragen)habe ich nun folgendes Problem:
Erfolgt eine Eingabe erst nach einem späteren Zeitpunkt (Zeit kann ich nicht sagen) muß ein Passwort (das LoginPas für die Seite) eingegebn werden. Nach dem o.k kommt die Abfrage immer wieder und die Seite muß neu gestartet werden.

Könnt Ihr mir sagen worauf ich evtl. achten muß um diese zu verhindern?
Kann es am Server oder an meinem Script liegen?
Wenn es keinen Allgemeinen Hinweis gibt würde ich auch auf wunsch den Code hochladen (kann ich aber erst von zu Hause)

Ich hoffe es ist halbwegs verständlich

Gruß

  1. hi,

    Ich hoffe es ist halbwegs verständlich

    Nicht für mich. Schreib mal, was Du machen willst. Das verstehe ich besser, als das, was Du nicht machen willst.

    Hotte

    --
    Hier gibts keine Hemden. Keine Hosen kriegen Sie im Laden gegenüber.
    1. hi,

      Ich hoffe es ist halbwegs verständlich

      Nicht für mich. Schreib mal, was Du machen willst. Das verstehe ich besser, als das, was Du nicht machen willst.

      Hotte

      Hallo,
      also, um die www.Seite zu öffnen muß ein PW eingegeben werden.
      Auf dieser Seite befindet sich ein Formular.
      Wenn das Formular längere Zeit geöffnet ist und dann ein neuer Eintrag erfolgt & dieser dann mit submit gespeichert, wird eine erneute PW Eingabe benötigt. Wenn die PW-Eingabe mit ok. bestätigt wird geht das PW Fenster wieder auf und das hört nicht mehr auf. Nach jedem o.k. geht's wieder auf.
      Das Formular selbst benötigt kein PW.

      1. hi,

        also, um die www.Seite zu öffnen muß ein PW eingegeben werden.
        Auf dieser Seite befindet sich ein Formular.
        Wenn das Formular längere Zeit geöffnet ist und dann ein neuer Eintrag erfolgt & dieser dann mit submit gespeichert, wird eine erneute PW Eingabe benötigt. Wenn die PW-Eingabe mit ok. bestätigt wird geht das PW Fenster wieder auf und das hört nicht mehr auf. Nach jedem o.k. geht's wieder auf.
        Das Formular selbst benötigt kein PW.

        Hmmm, also nach einer bestimmten Zeit soll das Passwort für die Formulareingabe erneut abgefragt werden? Und das nachdem der Text eingegeben wurde? Das ist zwar schlecht, besser wäre es, dem Benutzer zu zeigen, dass die Zeit abgelaufen ist; aber ich hab immer noch nicht verstanden, was das Problem dabei ist.

        Hotti

        1. hi,

          also, um die www.Seite zu öffnen muß ein PW eingegeben werden.
          Auf dieser Seite befindet sich ein Formular.
          Wenn das Formular längere Zeit geöffnet ist und dann ein neuer Eintrag erfolgt & dieser dann mit submit gespeichert, wird eine erneute PW Eingabe benötigt. Wenn die PW-Eingabe mit ok. bestätigt wird geht das PW Fenster wieder auf und das hört nicht mehr auf. Nach jedem o.k. geht's wieder auf.
          Das Formular selbst benötigt kein PW.

          Hmmm, also nach einer bestimmten Zeit soll das Passwort für die Formulareingabe erneut abgefragt werden? Und das nachdem der Text eingegeben wurde? Das ist zwar schlecht, besser wäre es, dem Benutzer zu zeigen, dass die Zeit abgelaufen ist; aber ich hab immer noch nicht verstanden, was das Problem dabei ist.

          Hotti

          Ne,ne,
          genau das will ich ja nicht. Das "blöde" Fenster erscheint ja wenn ich auf speichern drücke. Das ganze wiederholt sich so lang bis ich die Sete schließe und dann neu öffne!

          1. Hello,

            Ne,ne,
            genau das will ich ja nicht. Das "blöde" Fenster erscheint ja wenn ich auf speichern drücke. Das ganze wiederholt sich so lang bis ich die Sete schließe und dann neu öffne!

            Du müsstest schon mal etwas genauer beschreiben, was das Script macht und ob du einen Verzeichnisschutz mit .htaccess benutzt, also die Kontrolle vom Server selber ausgeübt wird, oder ob die Zugangskontrolle mittels Basic Authentication oder auf andere Weise vom Script surchgeführt wird.

            Ist z.B. zusätzlich noch Javascript im Spiel?

            Wird mit Sessions gearbeitet?

            Es gibt also mehrere Möglichkeiten, diese Verhaltensweise zu erzeugen.
            Ohne weitere Einblicke in Deinen Code kann man da nur raten.

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
            Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
            1. http://ip adresse eingeben, LogIn+PW eingeben, über MenüButton Demo.php aufrufen dann Daten ins Formular eingeben.

              ...nun da ist er

              
              <?php
              //******************************************************************************
              // Eingabeformular
              //******************************************************************************
              
              //  Datenbankzugriff
              include("admin/includes/config.php");
              
              // Formulardaten einlesen (PHP und HTML Tags entfernen)
              if (isset($_POST['eintragen']))
              
              {
              // Inhalte der Felder aus POST holen
              
                  $DATUM = $_POST['DATUM'];
                  $UHRZEIT = $_POST['UHRZEIT'];
                  $DAUER = $_POST['DAUER'];
              
                  $FEHLERKATEGORIE = $_POST['FEHLERKATEGORIE'];
                  $ON = $_POST['ON'];
                  $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 `F_Fehlerbericht`
                              (`DATUM`, `UHRZEIT`, `DAUER`, `FEHLERKATEGORIE`, `ON`, `BESCHREIBUNG`, `MASSNAHME`, `VERMEIDUNG`, `ANMERKUNG`, `M_NAME`, `SCHICHT`, `ORT` )
                          VALUES(
                              '" .mysql_real_escape_string( date_german2mysql($_POST["DATUM"])). "',
                          	'" .mysql_real_escape_string( $UHRZEIT ). "',
                          	'" .mysql_real_escape_string( $DAUER ). "',
                          	
                          	'" .mysql_real_escape_string( $FEHLERKATEGORIE ). "',
                          	'" .mysql_real_escape_string( $ON ). "',
                          	'" .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)
                  {
                      $Ausgabe = "Der Datensatz wurde hinzugefügt!";
              
                      //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
                  {
                      $Ausgabe = "Der Datensatz konnte <strong>nicht</strong> hinzugefügt werden!";
              
                      //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);
                $printme = date("d", $stamp).". ".$monate[$monat]." ".date("Y", $stamp);
              
                return $printme;
                }
              
              
              // Konvertiert das deutsche Datum-Format in ein MySQL-Format
              function date_german2mysql($date)
              {
              	$d	=	explode(".",$date);
              	
              	return	sprintf("%04d-%02d-%02d", $d[2], $d[1], $d[0]);
              }
              
              ?>
              
              
              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
              
              <html xmlns="http://www.w3.org/1999/xhtml">
              <head>
              <meta http-equiv="content-type" content="text/html; charset=utf-8" />
              <title>Fehlerbericht</title>
              <meta name="keywords" content="" />
              <meta name="description" content="" />
              <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="#">Fehlerbericht</a></h1>
              		<h2><a href="#"><img src="images/WP.png" width="160" height="42"></a></h2>
              	    <h3><? print ($Ausgabe);?></h3>
              	    <!-- <h4><? print formatDateString(date(time()));?></h4> -->
              	</div>
              	<div id="menu">
              		<ul>
              			<li><a href="index.php" accesskey="1" title="">Home</a></li>
              			<li class="active"><a href="demo.php" accesskey="2" title="">Demo</a></li>
              			<li><a href="#" accesskey="3" title="">MCR</a></li>
              			<li><a href="#" accesskey="4" title="">Service</a></li>
              			<li><a href="lesen_prod.php" accesskey="5" title="">&Uuml;bersicht</a></li>
              			<li><a href="#" accesskey="6" title="">MORE</a></li>
              			<li><a href="login.php" accesskey="7" title="">224</a></li>
              		</ul>
              	</div>
              
              <!-- INHALT -->
              <div id="content">
                <div id="colOne">
              
                <div class='my_fieldset30_links'>
              	<h2>Datum</h2>
              	 <input type="text" class="defbreite" name="DATUM" id="DATUM" value="<?php echo date("d.m.Y");?>">
                </div>
              
                <div class='my_fieldset30_mitte'>
              	<h2>Uhrzeit</h2>
              	 <input type="text" class="defbreite" name="UHRZEIT" id="UHRZEIT">
                </div>
              
                <div class='my_fieldset30_rechts'>
              	<h2>Dauer in Min</h2>
              	 <input type="text" class="defbreite" name="DAUER" id="DAUER">
                </div>
                <br>
              
              
              
                <div class='my_fieldset30_mitte'>
              	<h2>Kategorie</h2>
              	 <select class="defbreite" name="FEHLERKATEGORIE" id="FEHLERKATEGORIE">
                    <option selected value="">Bitte ausw&auml;hlen!</option>
                		<option >*</option>
                		<option value="i.O.">i.O.</option>
                		<option >*</option>
                		<option value="NC P">NC P</option>
                		<option value="Sona">Sona</option>
                		
                		<option value="externe Quelle">externe Quelle</option>
                		<option value="Zeitabweichung von disponierter Zeit">Zeitabweichung DISPO</option>
                    <option value="Sonstiges">Sonstige</option>
              	   </select>
                </div>
              
                <div class='my_fieldset30_rechts'>
              	<h2>St&ouml;rung</h2>
              	<input type="checkbox" onchange="this.form.className = (this.checked ? '' : 'compact');"/>
                  <br><span class="feld2"><input type="radio" name="ON" id="ON_1" value="NEIN" checked="checked" />NEIN </span>
                  <span class="feld2"><input type="radio" name="ON" id="ON_2" value="JA">Ja </span>
                </div>
                <br>
              
              
                <div class='my_fieldset'>
              	<h2>Details</h2>
              	   <textarea class="defbreite" rows="4" name="BESCHREIBUNG" id="BESCHREIBUNG"></textarea>
                </div>
                <br>
              
                <div class='my_fieldset45_links'>
              	<h2>Ergriffene Ma&szlig;nahmen</h2>
              	   <textarea class="defbreite" rows="3" name="MASSNAHME" id="MASSNAHME"></textarea>
                </div>
              
                <div class='my_fieldset45_rechts'>
              	<h2>Ma&szlig;nahmen zur Fehlervermeidung</h2>
              	   <textarea class="defbreite" rows="3" name="VERMEIDUNG" id="VERMEIDUNG"></textarea>
                </div>
                <br>
              
                <div class='my_fieldset'>
              	<h2>Bemerkung</h2>
              	   <textarea class="defbreite" rows="3" name="ANMERKUNG" id="ANMERKUNG"></textarea>
                </div>
                <br>
              
              
                </div>
              <!-- /INHALT -->
              
              <!-- INHALT Links -->
                <div id="colTwo">
              
                <div class='my_fieldset'>
              	<h2>Zust&auml;ndiger MA</h2>
                 <select class="defbreite" name="M_NAME" id="M_NAME">
              	<?php //Beim Senden eines Formulars die gewählte Auswahl in der Auswahlliste beibehalten.
              	$array = array(1 => "Bitte ausw&auml;hlen! ", "vorname name", );
              
              	for ($a = 1; $a <= 2; $a++) {
              	 echo " <option value=\"$array[$a]\"";
              	 if ($_POST["M_NAME"] == $array[$a]) {
              	  echo " selected";
              	 }
              	 else {
              	  if ($_POST["M_NAME"] == "" && $a == 1) {
              	   echo " selected";
              	  }
              	 }
              	 echo ">$array[$a]</option>\n";
              	}
              	?>
                 </select>
                </div>
                <br>
              
                <div class='my_fieldset'>
              	<h2>Schicht</h2>
                 <select class="defbreite" name="SCHICHT" id="SCHICHT">
              	<?php //Beim Senden eines Formulars die gewählte Auswahl in der Auswahlliste beibehalten.
              	$array = array(1 => "Bitte ausw&auml;hlen! ", "PP1.1", "PP1.2", "PP1.3", "*", "PP2.1", "PP2.2", "PP2.3", "*", "FW3.1", "FW3.2");
              
              	for ($a = 1; $a <= 11; $a++) {
              	 echo " <option value=\"$array[$a]\"";
              	 if ($_POST["SCHICHT"] == $array[$a]) {
              	  echo " selected";
              	 }
              	 else {
              	  if ($_POST["SCHICHT"] == "" && $a == 1) {
              	   echo " selected";
              	  }
              	 }
              	 echo ">$array[$a]</option>\n";
              	}
              	?>
                 </select>
                </div>
                <br>
              
                <div class='my_fieldset'>
              	<h2>Standort</h2>
                 <select class="defbreite" name="ORT" id="ORT">
              	<?php //Beim Senden eines Formulars die gewählte Auswahl in der Auswahlliste beibehalten.
              	$array = array(1 => "Bitte ausw&auml;hlen! ", "PP", "Innen", "Au&szlig;en");
              
              	for ($a = 1; $a <= 4; $a++) {
              	 echo " <option value=\"$array[$a]\"";
              	 if ($_POST["ORT"] == $array[$a]) {
              	  echo " selected";
              	 }
              	 else {
              	  if ($_POST["ORT"] == "" && $a == 1) {
              	   echo " selected";
              	  }
              	 }
              	 echo ">$array[$a]</option>\n";
              	}
              	?>
                 </select>
                </div>
                <br>
              
                 <div class="knopf">
                  <p><input class="submit" type="submit" name="eintragen" id="eintragen" value="Speichern"/></p>
                  <input class="submit" type="submit" value="email Senden"/>
                 </div>
                 <br>
              
              
              			
                </div>
                <div style="clear: both;">&nbsp;</div>
              </div>
              <!-- /INHALT Links -->
              
              	
              	<div id="footer">
              		<p>2009</p>
              	</div>
              
              </div>
              </body>
              </form>
              </html>
              
              
              
              
              1. Hello,

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

                Was steht denn dort drin?

                Im überigen Script kann ich keine Passwortabfrage bzw den Header, der diese am Client erfordert, entdecken.

                Welcher Web-Server wird betrieben?
                Welches OS liegt drunter?

                Liebe Grüße aus dem schönen Oberharz

                Tom vom Berg

                --
                Nur selber lernen macht schlau
                http://bergpost.annerschbarrich.de