fhiiqm/laser_log_flist_ed.php
changeset 44 d652bbba2d43
parent 34 fc60ef80a7ad
--- a/fhiiqm/laser_log_flist_ed.php	Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/laser_log_flist_ed.php	Fri Feb 05 14:03:40 2016 +0100
@@ -1,380 +1,380 @@
-<?php
-
-/**
- * @author Bettina Schwarzer, Fritz-Haber-Institut
- * @copyright 01/2012
- * 
- * Laser-Logbuch-Liste & Form
- */
-
-    error_reporting(E_ALL ^ E_NOTICE);
-    
-    session_start();
-    if (! isset($_SESSION["userid"]))
-    { 
-        include_once ("inc/func_lib.inc.php");	
-        login($_SERVER["PHP_SELF"]);
-        exit;
-    }
-    
-    if (is_null($_SESSION["recht"]) || (!is_null($_SESSION["recht"]) && !in_array("lr",$_SESSION["recht"]) && !in_array("le",$_SESSION["recht"])))
-    {
-        header("Location: start.php");
-        exit;
-    }    
-    
-    include_once($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/inc/dbconnect.inc.php");
-    if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
-    include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
-
-?>
-
-<!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" xml:lang="en" lang="en">
-
-<head>
-	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-    <link type="text/css" href="/fhiiqm/css/db.css" rel="Stylesheet" media="screen"/>	
-    <link type="text/css" href="/fhiiqm/css/db_print.css" rel="Stylesheet" media="print"/>	
-    <link type="text/css" href="/fhiiqm/css/jquery/ui-lightness-1.8.21/jquery-ui-1.8.21.custom.css" rel="Stylesheet" />	
-    <link type="text/css" href="/fhiiqm/css/jquery/jquery-ui-timepicker-addon.css" rel="Stylesheet" />	
-    <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-1.7.2.min.js"></script>
-    <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-ui-1.8.21.custom.min.js"></script>
-    <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-ui-timepicker-addon-1.0.1.js"></script>
-    <title>Laser-Logbuch</title>
- </head>
- 
- <body>
-
-    <script>
-      $(document).ready(function() {
-        $("#lid").focus();
-        $("#ldat").datetimepicker({
-            dateFormat: 'yy-mm-dd', 
-            timeFormat: 'hh:mm:ss', //damit kann auch Uhrzeit angegeben werden
-            yearRange: '2000:2020',
-            changeMonth: true,
-			changeYear: true,
-            firstDay: 1,
-            dayNamesMin: ['So','Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa' ],
-            monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'],
-            timeText: 'Uhrzeit',
-            hourText: 'Stunde',
-            currentText: 'Jetzt',
-            closeText: 'OK'   
-        });
-//        $("input[id='ldat']").addClass("long10");
-        });
-    </script>
-
-<?php
-    // Eingabeformular
-    $la     = $_POST["la"];
-    $laid   = $_GET["i"];
-    if (!$laid) $laid = $_POST["i"];
-    if (!$laid) $laid=0;
-    $sub    = $_POST["eintragen"]; // submit Log-Form
-	$ok		= $_POST["ok"];
-    if (!$la['okn']) $ok=false;
-    
-    $ldat    = urldecode($_GET["ld"]);  // Log-Datum aus edit
-    if (!$ldat) $ldat = $_POST["ld"];
-    if (!$ldat) $ldat = "0";
-//    echo "ldat: $ldat, " . urlencode($ldat) . ", ". urldecode($ldat). "<br />";
-    
-    $start  = $_GET["st"];
-    $zeil   = $_GET["z"];
-	$sort   = $_GET["s"];   // Sortierung nach Spalte
-    $dir    = $_GET["d"];   // Sortierrichtung
-    $fnum   = $_GET["f"];   // Spaltennummer, nach der aktuell gefiltert wird
-    $filter = $_GET["b"];   // Filterbegriff
-    // $_GET-Parameter zurück zur Laserliste mit den selben Einstellungen wie zuvor
-    $getp = "?s=$sort&d=$dir&f=$fnum&b=$filter&st=$start&z=$zeil";
-
-    // Felder, nach denen gefiltert werden kann
-    $fields = array(2=>"Laser-ID",3=>"Laser",4=>"Log-Datum");
-
-    // Anzahl der gezeigten Zeilen, Start ab Zeile    
-    $zeil = $_GET["z"];
-    if (!$zeil) $zeil = $_POST["z"];
-    if (!$zeil) $zeil = 10;
-    $start = $_GET["st"];
-    if (!$start) $start=0;
-    
-	$sort   = $_GET["s"];   // Sortierung nach Spalte
-    if (!isset($sort) && !$sort) $sort = $_POST["s"];      
-
-    $dir    = $_GET["d"];   // Sortierrichtung
-    if (!isset($dir) && !$dir) $dir = $_POST["d"];
-
-    $fnum   = $_GET["f"];   // Spaltennummer, nach der aktuell gefiltert wird
-    if (!isset($fnum) && !$fnum) $fnum = $_POST["f"];
-
-    $filter = $_POST["filter"];
-    if (!isset($filter) && !$filter) $filter = $_GET["b"];   
-
-    $subf   = $_POST["subf"]; // submit Filter
-    
-    if (!isset($fnum) || !$fnum) $fnum = 1;
-    if (!isset($filter) || !$filter) $filter = "";
-    if (!isset($sort) || !$sort) $sort = 2;
-    if (!isset($dir) || !$dir)  $dir = "";
-
-
-    echo "&nbsp;";  
-    echo "<div class=\"float-br smaller\" valign='top'>";
-    echo "&nbsp;&nbsp;&nbsp;user: " . $_SESSION["userid"];
-    echo "&nbsp;&nbsp;&nbsp;<a class='sc' href='/fhiiqm/logout.php' title='Session beenden'>logout</a></div>\n";
-    echo "<div class=\"float-r\"><img src=\"img/laser.png\" border=\"0\" alt=\"Laser\" title=\"Laser\"/></div>\n";
-    
-    if ($ok && $sub) // Daten Laser-Logbuch speichern
-    {
-        if (!$ldat)
-        {
-            try 
-            {
-                $logdate = new DateTime($la["ldat"]); 
-                $ok=1;
-            }     
-            catch(Exception $e) 
-            { 
-                echo "<p class='red'>fehlerhaftes Datum-Zeit-Feld: ".$e->getMessage(). "</p>";                
-                $la["ldat"] = null; 
-                $ok=0;
-            }
-        }
-        if ($ok)
-        {
-            $la["bem"] = substr($la["bem"],0,500);
-            $stmt = $dbc -> stmtinit();
-            if (is_object($stmt))
-            {
-                if (!$ldat)
-                {   // neuer Eintrag
-                    $stmt -> prepare("INSERT INTO fhiiqm.Laser_Logbuch (las_ID,log_date,log_bem) VALUES (?,?,?)");
-                    $stmt -> bind_param('iss',$la["lid"],$la["ldat"],$la["bem"]);        
-                    $res = $stmt -> execute();
-                    //                        print_r($stmt); echo "<br /><br />";
-                    if ($stmt->error) echo "INSERT Laser-Logbuch, error: " . $stmt->errno . " - ". $stmt->error . "<br><br>\n";
-                }
-                else
-                {   // log-bem aendern
-                    $stmt -> prepare("UPDATE fhiiqm.Laser_Logbuch SET log_bem = ? WHERE las_ID=? AND log_date=?");
-                    $stmt -> bind_param('sis',$la["bem"],$laid,$ldat);        
-                    $res = $stmt -> execute();
-                    if ($stmt->error) echo "UPDATE Laser-Logbuch, error: " . $stmt->errno . " - ". $stmt->error . "<br><br>\n";
-                }
-                $stmt -> free_result(); // wegen weiterer query
-                if (!$la["lid"])
-                { 
-                    $la["lid"]=$laid;
-                    $savetxt = "UPDATE";
-                    $ldat = "0"; // neue Eingabe ermoeglichen
-                }
-                else $savetxt = "INSERT";    
-                $sql = "SELECT las_bez FROM fhiiqm.Laser WHERE las_ID = " . $la["lid"];
-                $lbez = $dbc -> querySingleItem($sql);
-                if ($res)
-                {
-                    echo "<p class='green'><b>$savetxt: Daten  zu '".$lbez."' wurden erfolgreich gespeichert.</b></p>\n";
-                    unset($la);
-                    $sub = 0;
-                }   
-                else
-                    echo "<p class='red'><b>$savetxt: Daten  zu '".$lbez."' konnten nicht gespeichert werden!</b></p>\n";
-            }
-        }
-    }
-    
-    // Log-Eintraege holen 
-    $sql = "CALL laser_log_flist($sort,'" . $dir . "',$fnum, '" . $filter . "',$start,$zeil,$laid,@anz);"; 
-    // Parameter: Nr. Sortfeld, Sortierrichtung, Nr. Filterfeld, Filterbegriff, Startsatz(0), Anzahl zu liefernde DS, Laser-ID, Anzahl gefundener Laser
-    // liefert: las_ID, las_ID,las_bez, log_date,log_bem
-/*    $sql = "SELECT b.las_ID,las_bez, log_date,log_bem 
-            FROM `fhiiqm`.`Laser_Logbuch` b INNER JOIN Laser l
-            ON b.las_ID=l.las_ID";
-*/
-    $result = $dbc ->queryObjectArray($sql);
-    if ($dbc -> error)  
-        echo "error: " . $dbc -> error . "<br />\n";
-    
-    if (!$result)
-    {
-            echo "<p class='red'>&nbsp;&nbsp;&nbsp;Leider nichts gefunden f&uuml;r ". $fields["$fnum"] . " wie '$filter'!<br />";
-    }
-
-	$bg1 = "#F8F8F8";
-	$bg2 = "#DEDFE1";
-	$bg = "#FFFFFF";
- 
-    echo "<div align='center'>\n";
-    echo "<p><b>Laser - Logbuch</b></p>\n";
-    echo "<table border='0' cellspacing='0'>\n";
-    echo "<tr><td class='bigger'>Mittels '<img src='/fhiiqm/img/auf.gif' border='0' width='11' hight='11' />' / '<img src='/fhiiqm/img/ab.gif' border='0' width='11' hight='11' />' 
-        können Sie nach relevanten Spalten auf- bzw. absteigend sortieren</td></tr>
-        <tr><td class='bigger'>'<img src='/fhiiqm/img/filter.gif' border='0' width='14' hight='11' />' erm&ouml;glicht das Filtern nach ausgew&auml;hlten Spalten der Liste</td></tr>\n";
-    echo "</table>\n";
-
-    if ($result) $anz = $dbc -> querySingleItem("SELECT @anz"); else $anz = 0;
-    if ($dbc -> error)  echo "error Anzahl: " . $dbc -> error . "<br />\n";
-    if ($laid) $laser = " f&uuml;r Laser-ID=$laid"; else $laser = "";
-    printf ("<p>Anzahl Logbucheintr&auml;ge$laser: %s</p>", $anz);    
-    
-    if (isset($fnum) && $fnum>1 && !$filter && !$subf)
-    {
-        // Formular anzeigen fuer Filterbegriff
-        $text = $fields[$fnum];
-        $azeil = array(10=>'10',20=>'20',25=>'25',50=>'50',100=>'100',9999=>'alle'); // Anzahl gezeigter rows
-        if ($fnum == 4) $tip = "vollständiges Datum in der Form 'yyyy-mm-tt' angeben"; else $tip = "";
-        echo "<form action=" . $_SERVER['PHP_SELF'] . " method='post' enctype='application/x-www-form-urlencoded' id='ffilter' name='ffilter' target='_self'>\n";
-        echo "<input type='hidden' name='s' value='$sort'>";
-        echo "<input type='hidden' name='d' value='$dir'>";
-        echo "<input type='hidden' name='f' value='$fnum'>";
-        echo "<input type='hidden' name='i' value='$laid'>"; // nur gewaehlte Laser-ID
-        echo "<table width=\"30%\" border=\"0\">\n";
-        echo "<tr><td>filtern nach $text: </td>";
-        echo "<td><input id='filter' name='filter' type=\"text\" size=\"10\" maxlength=\"30\" value=\"$filter\"/>";
-        echo "<td>Zeilen/Seite?   <select name='z'>\n";
-        foreach ($azeil as $key=>$val)
-        {
-            if ($key == $zeil) $select = "selected"; else $select = "";
-            echo "<option $select value='$key'>$val</option>\n";
-        }
-        echo "</select></td>\n";
-        echo "<td><input class=\"button\" type=\"submit\" value=\"finden\" name=\"subf\" title=\"subf\" /></td></tr>";
-        echo "<tr><td colspan='3'>$tip</td></tr></table>\n";
-        echo "</form>\n";
-        echo "<p>&nbsp;&nbsp;&nbsp;</p>\n";
-    }
-        
-    echo "<table width='60%'>\n";
-        
-    if ($filter>'!') echo "<tr><td class='bigger' colspan='5'>Filter: ". $fields["$fnum"] . " wie '$filter'</td><tr>\n";
-
-    // Listenkopf generieren
-    echo "<tr bgcolor='#68ACBF'>";
-    tab_column(2,"Las-ID",$sort,$dir,2,$fnum,$filter,$start,$zeil,$laid);
-    tab_column(3,"Laser",$sort,$dir,3,$fnum,$filter,$start,$zeil,$laid);
-    tab_column(4,"Log-Datum",$sort,$dir,4,$fnum,$filter,$start,$zeil,$laid);
-    echo "<th width='60%'>Eintrag</th>";
-    echo "<th>&nbsp;</th></tr>\n";
-
-    if ($result)
-    {
-        // Logdaten anzeigen
-        foreach ($result as $row)
-        {
-			if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
-            if ($laid == $row->las_ID && $ldat == $row->log_date) $bg = "#D6E6E6";
-            echo "<tr bgcolor='" . $bg . "'><td class='right'>$row->las_ID&nbsp;</td>";
-            echo "<td>$row->las_bez</td>";
-            if ($row->log_date)
-            {
-                $ld = new DateTime($row->log_date);    
-                echo "<td>" . $ld->format('d.m.Y H:i:s')."</td>";
-            }
-            if ($laid == $row->las_ID && $ldat == $row->log_date)
-            {   //Aenderungsform, nur Log-Eintrag
-                $okn = true;
-                if (!$la['bem']) $la['bem'] = $row->log_bem; 
-                echo "<form action='". $_SERVER['PHP_SELF'] ."' method='post' enctype='application/x-www-form-urlencoded' name='flas'>\n"; 
-                echo "<td class='red'><textarea name=\"la[bem]\" id=\"bem\" rows=\"5\" cols=\"100\">" . $la['bem'] ."</textarea><br />";
-                echo "<input type=\"hidden\" name=\"la[okn]\" value=\"$okn\"/>\n";
-                echo "<input type=\"hidden\" name=\"i\" value=\"$laid\"/>\n"; // nur gewaehlte Laser-ID
-                echo "<input type=\"hidden\" name=\"ld\" value=\"$ldat\"/>";
-                echo "<input type=\"hidden\" name=\"st\" value=\"$start\"/>";
-                echo "<input type=\"hidden\" name=\"z\" value=\"$zeil\"/>";
-              	if ($sub)
-                {
-                    $frage = "Alle Angaben ok?";
-                	echo "$frage<input type=\"checkbox\" name=\"ok\" value=\"1\"";
-                	        if ($ok)  echo "checked=\"checked\"";
-                    echo "/>&nbsp;&nbsp;&nbsp;"; 
-                }
-                echo "<input  class=\"button\" type=\"submit\" name=\"eintragen\" value=\"eintragen\" /></td>";    
-                echo "</form>\n";
-                echo "<td>&nbsp;</td>";
-            }
-            else
-            {
-                echo "<td>".nl2br($row->log_bem)."</td>";
-                if (!is_null($_SESSION["recht"]) && in_array("le",$_SESSION["recht"]))
-                    echo "<td><a href='" . $_SERVER["PHP_SELF"]."?i=$row->las_ID&s=$start&z=$zeil&ld=" . urlencode($row->log_date) . // &f=$fnum&b=$filter&s=$sort&d=$dir&st=$st&z=$zeil
-                    "'><img src=\"/fhiiqm/img/edit.gif\" alt='edit Log-Eintrag' title='edit Log-Eintrag' border='0'/></a></td>";
-                else echo "<td>&nbsp;</td>";
-            }    
-            echo "</tr>\n";
-        }
-//    $dbc->result->free();
-    }
-
-    if ((!$ok || !$sub) && !$ldat && !is_null($_SESSION["recht"]) && in_array("le",$_SESSION["recht"]))
-    {
-        // Eingabe neuer Logbuch-Eintrag
-        $okn = true;
-        echo "<form action='". $_SERVER['PHP_SELF'] ."' method='post' enctype='application/x-www-form-urlencoded' name='flas'>\n"; 
-        echo "<tr bgcolor='#D6E6E6'><td>&nbsp</td><td>";
-        echo "<select name=\"la[lid]\" id='lid'>";
-        if ($laid) $wher = " WHERE las_ID = $laid "; else $wher = "";
-        $sql = "SELECT las_ID, las_bez FROM Laser $wher ORDER BY 2";
-        if ($res = $dbc -> queryObjectArray($sql))
-        {
-            $select = "";
-            foreach ($res as $row)
-            {
-                if ($row->las_ID == $la['lid']) $select="selected"; else $select="";
-                echo "<option $select value='$row->las_ID'>$row->las_ID - $row->las_bez</option>\n";
-            }
-        }
-        if ($dbc->error) echo "error Laserliste: ".$dbc -> error."</br>";
-        echo "</td><td valign=\"top\"><input class=\"long10\" type=\"text\" name=\"la[ldat]\" id=\"ldat\" value=\"" . $la['ldat']. "\"/>";
-        echo "<br />Uhrzeitangabe notwendig, falls f&uuml;r LaserID Eintrag am selben Tag vorhanden.";
-        if (isset($la['ldat']) && $la['ldat']< "!")
-        { 
-            echo "<br><span class=\"red\">Log-Datum ist erforderlich!</span>\n";
-            $okn = false;
-        }    
-        echo "</td><td class='red'><textarea name=\"la[bem]\" id=\"bem\" rows=\"5\" cols=\"100\">" . $la['bem'] ."</textarea><br />";
-        echo "<input type=\"hidden\" name=\"la[okn]\" value=\"$okn\"/>\n";
-        echo "<input type=\"hidden\" name=\"i\" value=\"$laid\"/>\n"; // nur gewaehlte Laser-ID
-      	if ($sub)
-        {
-            $frage = "Alle Angaben ok?";
-        	echo "$frage<input type=\"checkbox\" name=\"ok\" value=\"1\"";
-        	        if ($ok)  echo "checked=\"checked\"";
-            echo "/>&nbsp;&nbsp;&nbsp;"; 
-        }
-        echo "<input  class=\"button\" type=\"submit\" name=\"eintragen\" value=\"eintragen\" /></td>";    
-        echo "<td>&nbsp;</td></tr>\n";
-        echo "</form>\n";
-    }
-
-    echo "</table>\n";
-    echo "</div>\n";
-
-    echo "<br />&nbsp;&nbsp;&nbsp;";
-    
-    // Sortierung und Filter aus $_GET fuer weitere Seiten
-    foreach ($_GET as $key=>$val)
-    {
-        if ($key != "st") $liste .= "&" . $key ."=".$val;
-    } 
-    // Sortierung und Filter aus $_POST fuer weitere Seiten
-    if ($subf)
-    foreach ($_POST as $key=>$val)
-    {
-        if ($key != "st" && $key != "subf" && $key != "filter") $liste .= "&" . $key ."=".$val;
-        if ($key == "filter") $liste .= "&b=" . $val;
-    }    
-    
-    // Links auf andere Seiten generieren
-    liste_links($start,$zeil,$anz,$liste);
-    
-    $dbc -> close();
-    echo "<p>&nbsp;&nbsp;&nbsp;<a href=\"".$_SERVER["PHP_SELF"]."\" target=\"_self\" title=\"Laser-Log\" class=\"sc\">Log-Buch alle Laser</a></p>\n";
-    echo "<p>&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/laser_flist.php$getp\" target=\"_self\" title=\"Laserliste\" class=\"sc\">Laserliste</a></p>\n";
-
-
-?>
-</body>
+<?php
+
+/**
+ * @author Bettina Schwarzer, Fritz-Haber-Institut
+ * @copyright 01/2012
+ * 
+ * Laser-Logbuch-Liste & Form
+ */
+
+    error_reporting(E_ALL ^ E_NOTICE);
+    
+    session_start();
+    if (! isset($_SESSION["userid"]))
+    { 
+        include_once ("inc/func_lib.inc.php");	
+        login($_SERVER["PHP_SELF"]);
+        exit;
+    }
+    
+    if (is_null($_SESSION["recht"]) || (!is_null($_SESSION["recht"]) && !in_array("lr",$_SESSION["recht"]) && !in_array("le",$_SESSION["recht"])))
+    {
+        header("Location: start.php");
+        exit;
+    }    
+    
+    include_once($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/inc/dbconnect.inc.php");
+    if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
+    include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
+
+?>
+
+<!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" xml:lang="en" lang="en">
+
+<head>
+	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+    <link type="text/css" href="/fhiiqm/css/db.css" rel="Stylesheet" media="screen"/>	
+    <link type="text/css" href="/fhiiqm/css/db_print.css" rel="Stylesheet" media="print"/>	
+    <link type="text/css" href="/fhiiqm/css/jquery/ui-lightness-1.8.21/jquery-ui-1.8.21.custom.css" rel="Stylesheet" />	
+    <link type="text/css" href="/fhiiqm/css/jquery/jquery-ui-timepicker-addon.css" rel="Stylesheet" />	
+    <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-1.7.2.min.js"></script>
+    <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-ui-1.8.21.custom.min.js"></script>
+    <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-ui-timepicker-addon-1.0.1.js"></script>
+    <title>Laser-Logbuch</title>
+ </head>
+ 
+ <body>
+
+    <script>
+      $(document).ready(function() {
+        $("#lid").focus();
+        $("#ldat").datetimepicker({
+            dateFormat: 'yy-mm-dd', 
+            timeFormat: 'hh:mm:ss', //damit kann auch Uhrzeit angegeben werden
+            yearRange: '2000:2020',
+            changeMonth: true,
+			changeYear: true,
+            firstDay: 1,
+            dayNamesMin: ['So','Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa' ],
+            monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'],
+            timeText: 'Uhrzeit',
+            hourText: 'Stunde',
+            currentText: 'Jetzt',
+            closeText: 'OK'   
+        });
+//        $("input[id='ldat']").addClass("long10");
+        });
+    </script>
+
+<?php
+    // Eingabeformular
+    $la     = $_POST["la"];
+    $laid   = $_GET["i"];
+    if (!$laid) $laid = $_POST["i"];
+    if (!$laid) $laid=0;
+    $sub    = $_POST["eintragen"]; // submit Log-Form
+	$ok		= $_POST["ok"];
+    if (!$la['okn']) $ok=false;
+    
+    $ldat    = urldecode($_GET["ld"]);  // Log-Datum aus edit
+    if (!$ldat) $ldat = $_POST["ld"];
+    if (!$ldat) $ldat = "0";
+//    echo "ldat: $ldat, " . urlencode($ldat) . ", ". urldecode($ldat). "<br />";
+    
+    $start  = $_GET["st"];
+    $zeil   = $_GET["z"];
+	$sort   = $_GET["s"];   // Sortierung nach Spalte
+    $dir    = $_GET["d"];   // Sortierrichtung
+    $fnum   = $_GET["f"];   // Spaltennummer, nach der aktuell gefiltert wird
+    $filter = $_GET["b"];   // Filterbegriff
+    // $_GET-Parameter zurück zur Laserliste mit den selben Einstellungen wie zuvor
+    $getp = "?s=$sort&d=$dir&f=$fnum&b=$filter&st=$start&z=$zeil";
+
+    // Felder, nach denen gefiltert werden kann
+    $fields = array(2=>"Laser-ID",3=>"Laser",4=>"Log-Datum");
+
+    // Anzahl der gezeigten Zeilen, Start ab Zeile    
+    $zeil = $_GET["z"];
+    if (!$zeil) $zeil = $_POST["z"];
+    if (!$zeil) $zeil = 10;
+    $start = $_GET["st"];
+    if (!$start) $start=0;
+    
+	$sort   = $_GET["s"];   // Sortierung nach Spalte
+    if (!isset($sort) && !$sort) $sort = $_POST["s"];      
+
+    $dir    = $_GET["d"];   // Sortierrichtung
+    if (!isset($dir) && !$dir) $dir = $_POST["d"];
+
+    $fnum   = $_GET["f"];   // Spaltennummer, nach der aktuell gefiltert wird
+    if (!isset($fnum) && !$fnum) $fnum = $_POST["f"];
+
+    $filter = $_POST["filter"];
+    if (!isset($filter) && !$filter) $filter = $_GET["b"];   
+
+    $subf   = $_POST["subf"]; // submit Filter
+    
+    if (!isset($fnum) || !$fnum) $fnum = 1;
+    if (!isset($filter) || !$filter) $filter = "";
+    if (!isset($sort) || !$sort) $sort = 2;
+    if (!isset($dir) || !$dir)  $dir = "";
+
+
+    echo "&nbsp;";  
+    echo "<div class=\"float-br smaller\" valign='top'>";
+    echo "&nbsp;&nbsp;&nbsp;user: " . $_SESSION["userid"];
+    echo "&nbsp;&nbsp;&nbsp;<a class='sc' href='/fhiiqm/logout.php' title='Session beenden'>logout</a></div>\n";
+    echo "<div class=\"float-r\"><img src=\"img/laser.png\" border=\"0\" alt=\"Laser\" title=\"Laser\"/></div>\n";
+    
+    if ($ok && $sub) // Daten Laser-Logbuch speichern
+    {
+        if (!$ldat)
+        {
+            try 
+            {
+                $logdate = new DateTime($la["ldat"]); 
+                $ok=1;
+            }     
+            catch(Exception $e) 
+            { 
+                echo "<p class='red'>fehlerhaftes Datum-Zeit-Feld: ".$e->getMessage(). "</p>";                
+                $la["ldat"] = null; 
+                $ok=0;
+            }
+        }
+        if ($ok)
+        {
+            $la["bem"] = substr($la["bem"],0,500);
+            $stmt = $dbc -> stmtinit();
+            if (is_object($stmt))
+            {
+                if (!$ldat)
+                {   // neuer Eintrag
+                    $stmt -> prepare("INSERT INTO fhiiqm.Laser_Logbuch (las_ID,log_date,log_bem) VALUES (?,?,?)");
+                    $stmt -> bind_param('iss',$la["lid"],$la["ldat"],$la["bem"]);        
+                    $res = $stmt -> execute();
+                    //                        print_r($stmt); echo "<br /><br />";
+                    if ($stmt->error) echo "INSERT Laser-Logbuch, error: " . $stmt->errno . " - ". $stmt->error . "<br><br>\n";
+                }
+                else
+                {   // log-bem aendern
+                    $stmt -> prepare("UPDATE fhiiqm.Laser_Logbuch SET log_bem = ? WHERE las_ID=? AND log_date=?");
+                    $stmt -> bind_param('sis',$la["bem"],$laid,$ldat);        
+                    $res = $stmt -> execute();
+                    if ($stmt->error) echo "UPDATE Laser-Logbuch, error: " . $stmt->errno . " - ". $stmt->error . "<br><br>\n";
+                }
+                $stmt -> free_result(); // wegen weiterer query
+                if (!$la["lid"])
+                { 
+                    $la["lid"]=$laid;
+                    $savetxt = "UPDATE";
+                    $ldat = "0"; // neue Eingabe ermoeglichen
+                }
+                else $savetxt = "INSERT";    
+                $sql = "SELECT las_bez FROM fhiiqm.Laser WHERE las_ID = " . $la["lid"];
+                $lbez = $dbc -> querySingleItem($sql);
+                if ($res)
+                {
+                    echo "<p class='green'><b>$savetxt: Daten  zu '".$lbez."' wurden erfolgreich gespeichert.</b></p>\n";
+                    unset($la);
+                    $sub = 0;
+                }   
+                else
+                    echo "<p class='red'><b>$savetxt: Daten  zu '".$lbez."' konnten nicht gespeichert werden!</b></p>\n";
+            }
+        }
+    }
+    
+    // Log-Eintraege holen 
+    $sql = "CALL laser_log_flist($sort,'" . $dir . "',$fnum, '" . $filter . "',$start,$zeil,$laid,@anz);"; 
+    // Parameter: Nr. Sortfeld, Sortierrichtung, Nr. Filterfeld, Filterbegriff, Startsatz(0), Anzahl zu liefernde DS, Laser-ID, Anzahl gefundener Laser
+    // liefert: las_ID, las_ID,las_bez, log_date,log_bem
+/*    $sql = "SELECT b.las_ID,las_bez, log_date,log_bem 
+            FROM `fhiiqm`.`Laser_Logbuch` b INNER JOIN Laser l
+            ON b.las_ID=l.las_ID";
+*/
+    $result = $dbc ->queryObjectArray($sql);
+    if ($dbc -> error)  
+        echo "error: " . $dbc -> error . "<br />\n";
+    
+    if (!$result)
+    {
+            echo "<p class='red'>&nbsp;&nbsp;&nbsp;Leider nichts gefunden f&uuml;r ". $fields["$fnum"] . " wie '$filter'!<br />";
+    }
+
+	$bg1 = "#F8F8F8";
+	$bg2 = "#DEDFE1";
+	$bg = "#FFFFFF";
+ 
+    echo "<div align='center'>\n";
+    echo "<p><b>Laser - Logbuch</b></p>\n";
+    echo "<table border='0' cellspacing='0'>\n";
+    echo "<tr><td class='bigger'>Mittels '<img src='/fhiiqm/img/auf.gif' border='0' width='11' hight='11' />' / '<img src='/fhiiqm/img/ab.gif' border='0' width='11' hight='11' />' 
+        können Sie nach relevanten Spalten auf- bzw. absteigend sortieren</td></tr>
+        <tr><td class='bigger'>'<img src='/fhiiqm/img/filter.gif' border='0' width='14' hight='11' />' erm&ouml;glicht das Filtern nach ausgew&auml;hlten Spalten der Liste</td></tr>\n";
+    echo "</table>\n";
+
+    if ($result) $anz = $dbc -> querySingleItem("SELECT @anz"); else $anz = 0;
+    if ($dbc -> error)  echo "error Anzahl: " . $dbc -> error . "<br />\n";
+    if ($laid) $laser = " f&uuml;r Laser-ID=$laid"; else $laser = "";
+    printf ("<p>Anzahl Logbucheintr&auml;ge$laser: %s</p>", $anz);    
+    
+    if (isset($fnum) && $fnum>1 && !$filter && !$subf)
+    {
+        // Formular anzeigen fuer Filterbegriff
+        $text = $fields[$fnum];
+        $azeil = array(10=>'10',20=>'20',25=>'25',50=>'50',100=>'100',9999=>'alle'); // Anzahl gezeigter rows
+        if ($fnum == 4) $tip = "vollständiges Datum in der Form 'yyyy-mm-tt' angeben"; else $tip = "";
+        echo "<form action=" . $_SERVER['PHP_SELF'] . " method='post' enctype='application/x-www-form-urlencoded' id='ffilter' name='ffilter' target='_self'>\n";
+        echo "<input type='hidden' name='s' value='$sort'>";
+        echo "<input type='hidden' name='d' value='$dir'>";
+        echo "<input type='hidden' name='f' value='$fnum'>";
+        echo "<input type='hidden' name='i' value='$laid'>"; // nur gewaehlte Laser-ID
+        echo "<table width=\"30%\" border=\"0\">\n";
+        echo "<tr><td>filtern nach $text: </td>";
+        echo "<td><input id='filter' name='filter' type=\"text\" size=\"10\" maxlength=\"30\" value=\"$filter\"/>";
+        echo "<td>Zeilen/Seite?   <select name='z'>\n";
+        foreach ($azeil as $key=>$val)
+        {
+            if ($key == $zeil) $select = "selected"; else $select = "";
+            echo "<option $select value='$key'>$val</option>\n";
+        }
+        echo "</select></td>\n";
+        echo "<td><input class=\"button\" type=\"submit\" value=\"finden\" name=\"subf\" title=\"subf\" /></td></tr>";
+        echo "<tr><td colspan='3'>$tip</td></tr></table>\n";
+        echo "</form>\n";
+        echo "<p>&nbsp;&nbsp;&nbsp;</p>\n";
+    }
+        
+    echo "<table width='70%'>\n";
+        
+    if ($filter>'!') echo "<tr><td class='bigger' colspan='5'>Filter: ". $fields["$fnum"] . " wie '$filter'</td><tr>\n";
+
+    // Listenkopf generieren
+    echo "<tr bgcolor='#68ACBF'>";
+    tab_column(2,"Las-ID",$sort,$dir,2,$fnum,$filter,$start,$zeil,$laid);
+    tab_column(3,"Laser",$sort,$dir,3,$fnum,$filter,$start,$zeil,$laid);
+    tab_column(4,"Log-Datum",$sort,$dir,4,$fnum,$filter,$start,$zeil,$laid);
+    echo "<th width='60%'>Eintrag</th>";
+    echo "<th>&nbsp;</th></tr>\n";
+
+    if ($result)
+    {
+        // Logdaten anzeigen
+        foreach ($result as $row)
+        {
+			if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
+            if ($laid == $row->las_ID && $ldat == $row->log_date) $bg = "#D6E6E6";
+            echo "<tr bgcolor='" . $bg . "'><td class='right'>$row->las_ID&nbsp;</td>";
+            echo "<td>$row->las_bez</td>";
+            if ($row->log_date)
+            {
+                $ld = new DateTime($row->log_date);    
+                echo "<td>" . $ld->format('d.m.Y H:i:s')."</td>";
+            }
+            if ($laid == $row->las_ID && $ldat == $row->log_date)
+            {   //Aenderungsform, nur Log-Eintrag
+                $okn = true;
+                if (!$la['bem']) $la['bem'] = $row->log_bem; 
+                echo "<form action='". $_SERVER['PHP_SELF'] ."' method='post' enctype='application/x-www-form-urlencoded' name='flas'>\n"; 
+                echo "<td class='red'><textarea name=\"la[bem]\" id=\"bem\" rows=\"5\" cols=\"100\">" . $la['bem'] ."</textarea><br />";
+                echo "<input type=\"hidden\" name=\"la[okn]\" value=\"$okn\"/>\n";
+                echo "<input type=\"hidden\" name=\"i\" value=\"$laid\"/>\n"; // nur gewaehlte Laser-ID
+                echo "<input type=\"hidden\" name=\"ld\" value=\"$ldat\"/>";
+                echo "<input type=\"hidden\" name=\"st\" value=\"$start\"/>";
+                echo "<input type=\"hidden\" name=\"z\" value=\"$zeil\"/>";
+              	if ($sub)
+                {
+                    $frage = "Alle Angaben ok?";
+                	echo "$frage<input type=\"checkbox\" name=\"ok\" value=\"1\"";
+                	        if ($ok)  echo "checked=\"checked\"";
+                    echo "/>&nbsp;&nbsp;&nbsp;"; 
+                }
+                echo "<input  class=\"button\" type=\"submit\" name=\"eintragen\" value=\"eintragen\" /></td>";    
+                echo "</form>\n";
+                echo "<td>&nbsp;</td>";
+            }
+            else
+            {
+                echo "<td>".nl2br($row->log_bem)."</td>";
+                if (!is_null($_SESSION["recht"]) && in_array("le",$_SESSION["recht"]))
+                    echo "<td><a href='" . $_SERVER["PHP_SELF"]."?i=$row->las_ID&s=$start&z=$zeil&ld=" . urlencode($row->log_date) . // &f=$fnum&b=$filter&s=$sort&d=$dir&st=$st&z=$zeil
+                    "'><img src=\"/fhiiqm/img/edit.gif\" alt='edit Log-Eintrag' title='edit Log-Eintrag' border='0'/></a></td>";
+                else echo "<td>&nbsp;</td>";
+            }    
+            echo "</tr>\n";
+        }
+//    $dbc->result->free();
+    }
+
+    if ((!$ok || !$sub) && !$ldat && !is_null($_SESSION["recht"]) && in_array("le",$_SESSION["recht"]))
+    {
+        // Eingabe neuer Logbuch-Eintrag
+        $okn = true;
+        echo "<form action='". $_SERVER['PHP_SELF'] ."' method='post' enctype='application/x-www-form-urlencoded' name='flas'>\n"; 
+        echo "<tr bgcolor='#D6E6E6'><td>&nbsp</td><td>";
+        echo "<select name=\"la[lid]\" id='lid'>";
+        if ($laid) $wher = " WHERE las_ID = $laid "; else $wher = "";
+        $sql = "SELECT las_ID, las_bez FROM Laser $wher ORDER BY 2";
+        if ($res = $dbc -> queryObjectArray($sql))
+        {
+            $select = "";
+            foreach ($res as $row)
+            {
+                if ($row->las_ID == $la['lid']) $select="selected"; else $select="";
+                echo "<option $select value='$row->las_ID'>$row->las_ID - $row->las_bez</option>\n";
+            }
+        }
+        if ($dbc->error) echo "error Laserliste: ".$dbc -> error."</br>";
+        echo "</td><td valign=\"top\"><input class=\"long10\" type=\"text\" name=\"la[ldat]\" id=\"ldat\" value=\"" . $la['ldat']. "\"/>";
+        echo "<br />Uhrzeitangabe notwendig, falls f&uuml;r LaserID Eintrag am selben Tag vorhanden.";
+        if (isset($la['ldat']) && $la['ldat']< "!")
+        { 
+            echo "<br><span class=\"red\">Log-Datum ist erforderlich!</span>\n";
+            $okn = false;
+        }    
+        echo "</td><td class='red'><textarea name=\"la[bem]\" id=\"bem\" rows=\"5\" cols=\"100\">" . $la['bem'] ."</textarea><br />";
+        echo "<input type=\"hidden\" name=\"la[okn]\" value=\"$okn\"/>\n";
+        echo "<input type=\"hidden\" name=\"i\" value=\"$laid\"/>\n"; // nur gewaehlte Laser-ID
+      	if ($sub)
+        {
+            $frage = "Alle Angaben ok?";
+        	echo "$frage<input type=\"checkbox\" name=\"ok\" value=\"1\"";
+        	        if ($ok)  echo "checked=\"checked\"";
+            echo "/>&nbsp;&nbsp;&nbsp;"; 
+        }
+        echo "<input  class=\"button\" type=\"submit\" name=\"eintragen\" value=\"eintragen\" /></td>";    
+        echo "<td>&nbsp;</td></tr>\n";
+        echo "</form>\n";
+    }
+
+    echo "</table>\n";
+    echo "</div>\n";
+
+    echo "<br />&nbsp;&nbsp;&nbsp;";
+    
+    // Sortierung und Filter aus $_GET fuer weitere Seiten
+    foreach ($_GET as $key=>$val)
+    {
+        if ($key != "st") $liste .= "&" . $key ."=".$val;
+    } 
+    // Sortierung und Filter aus $_POST fuer weitere Seiten
+    if ($subf)
+    foreach ($_POST as $key=>$val)
+    {
+        if ($key != "st" && $key != "subf" && $key != "filter") $liste .= "&" . $key ."=".$val;
+        if ($key == "filter") $liste .= "&b=" . $val;
+    }    
+    
+    // Links auf andere Seiten generieren
+    liste_links($start,$zeil,$anz,$liste);
+    
+    $dbc -> close();
+    echo "<p>&nbsp;&nbsp;&nbsp;<a href=\"".$_SERVER["PHP_SELF"]."\" target=\"_self\" title=\"Laser-Log\" class=\"sc\">Log-Buch alle Laser</a></p>\n";
+    echo "<p>&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/laser_flist.php$getp\" target=\"_self\" title=\"Laserliste\" class=\"sc\">Laserliste</a></p>\n";
+
+
+?>
+</body>
 </html>
\ No newline at end of file