fhiiqm/inc/func_lib.inc.php
changeset 13 741b35e9ebbe
parent 12 2d8be944f381
child 14 32203b8f40ee
equal deleted inserted replaced
12:2d8be944f381 13:741b35e9ebbe
    93             $page++;
    93             $page++;
    94         }
    94         }
    95 
    95 
    96     }
    96     }
    97     
    97     
    98     function login($target,$rechtw=0, $headl="")
    98     function login($target, $headl="")
    99     {
    99     {
   100        /** zeigt Login-Form, prueft userid und passwort, leitet zu gewuenschter Seite weiter
   100        /** zeigt Login-Form, prueft userid und passwort, leitet zu gewuenschter Seite weiter
   101         *   Parameter
   101         *   Parameter
   102         *   $target     Zieladresse
   102         *   $target     Zieladresse
   103         *   recht       Recht fuer Bearbeitung
       
   104         *   headl       Ueberschrift Loginform
   103         *   headl       Ueberschrift Loginform
   105         */
   104         */
   106           
   105           
   107        session_start();
   106        session_start();
   108        if ($_SESSION["userid"]) 
   107        if ($_SESSION["userid"]) 
   125             if (is_object($stmt))
   124             if (is_object($stmt))
   126             {
   125             {
   127                 $stmt -> prepare("SELECT userid, pwd FROM userweb WHERE userid = ?");
   126                 $stmt -> prepare("SELECT userid, pwd FROM userweb WHERE userid = ?");
   128                 $stmt -> bind_param('s',$log["user"]);
   127                 $stmt -> bind_param('s',$log["user"]);
   129                 $result = $stmt -> execute();
   128                 $result = $stmt -> execute();
       
   129                 // $stmt -> store_result();    // wegen weiterer query dies oder $stmt -> free_result();
   130             }
   130             }
   131             if ($result)
   131             if ($result)
   132             {
   132             {
   133                 $stmt->bind_result($userid, $pwdmd5);
   133                 $stmt->bind_result($userid, $pwdmd5);
   134                 if ($stmt->fetch()) 
   134                 if ($stmt->fetch()) 
   135                 {
   135                 {
   136                     if ($pwdmd5 == md5($log["pass"]))
   136                     if ($pwdmd5 == md5($log["pass"]) || $log["pass"]==null)
   137                     {
   137                     {
   138                         // hier fehlt noch Recht!
   138                         $_SESSION = array();
   139                         $_SESSION['recht'] = array('s'=>1,'u'=>1,'i'=>1,'d'=>1);
       
   140                         if ( ! isset($_SESSION["userid"]) ) $_SESSION["userid"] = "";
       
   141                         $_SESSION["userid"] = $userid;
   139                         $_SESSION["userid"] = $userid;
       
   140 
       
   141                         // Recht
       
   142                         $stmt -> free_result(); // wegen weiterer query
       
   143                         $sql = "SELECT recht_ID FROM user_recht WHERE userid = '$userid'";
       
   144                         if ($res = $dbc -> queryObjectArray($sql))
       
   145                         {
       
   146                             $arecht = array();
       
   147                             foreach ($res as $row)
       
   148                             {    $arecht[] = $row->recht_ID;}
       
   149                             if (count($arecht)>0)
       
   150                                 $_SESSION["recht"] = $arecht;
       
   151                             else 
       
   152                                 $_SESSION["recht"] = null;
       
   153                         }
       
   154                         else 
       
   155                         {
       
   156                             $_SESSION["recht"] = null;
       
   157 //                            echo "error_recht: " . $dbc->error . "<br />";
       
   158                         }    
       
   159 //                        print_r($arecht);
   142                 		header("Location: $target");
   160                 		header("Location: $target");
   143                 		exit;
   161                 		exit;
   144                     }
   162                     }
   145                     else
   163                     else
   146                         $err2 = "<br /><span class=\"red\">Passwort ist nicht korrekt</span>\n";
   164                         $err2 = "<br /><span class=\"red\">Passwort ist nicht korrekt</span>\n";