#!"C:\xampp\perl\bin\perl.exe" use strict; use IO::Handle; use DBI; use CGI; use CGI::Session; use CGI::Carp qw(fatalsToBrowser warningsToBrowser); my $dbhost = "localhost"; my $database = "sensor"; my $dbuser = "root"; my $dbpass = ""; my $dsn = "DBI:mysql:database=$database; host=$dbhost"; my $dbh = DBI->connect($dsn, $dbuser, $dbpass); my $cgi = new CGI; my $select; print "Content-type: text/html\n\n"; print ""; print ""; print "
"; print " "; print " "; print ""; my $passwort; my $user; my $i=0; my $session; my $SIDNAME = CGI::Session->name(); my $cgi = CGI->new; my $sid = $cgi->cookie($SIDNAME) || $cgi->param($SIDNAME) || undef; my $session = CGI::Session->load() or die CGI::Session->errstr(); if ( $session->is_empty ) { $session = CGI::Session->new() or die CGI::Session->errstr(); } if ( $session->is_expired() ) { print $session->header(), $cgi->start_html(), $cgi->p("Your session timed out! Refresh the webpage!"), $cgi->end_html(); exit(0); } my $cookie = $cgi->cookie( -name => $SIDNAME, -value => $sid ); $sid = $session->id; if($cgi->param('login')) { $select = $dbh->prepare("select benutzer,passwort from benutzer WHERE benutzer=? AND passwort=?;"); $select->execute($cgi->param('user'), $cgi->param('pwd')); while(($user, $passwort) = $select->fetchrow_array) { if(($user eq $cgi->param('user')) && ($passwort eq $cgi->param('pwd'))) { $session = new CGI::Session(undef, undef, undef); # Session erzeugen #print "Anmeldung erfolgreich! Sie werden weitergeleitet..."; $i++; $session->param( 'user',$user ); $session->param( 'loggedin', 1 ); $session->param( 'lastvisit', "" . localtime() ); my $next_url = '/localhost/cgi-bin/messung.cgi'; print $cgi->header ( -location => "$next_url?$SIDNAME=$sid", -cookie => $cookie );exit; } } if(! $i) { print "Anmeldung fehlgeschlagen!"; } }