Vor lauter while get next, EOF und "right curly" sehe ich den Wald vor Bäumen nicht.
Passwortschutz stammt aus der Bib, funktioniert ja auch bestens, aber wenn PW falsch ist, wird denoch alles unterhalb
#
# Nutzerdatenbank abfragen - Ausgabe, wenn mehrere in der DB Nutzer nicht aktiviert
#
angezeigt. Und das wollte ich vermeiden. Kann mal einer bitte den Code durchforsten und mir mit dem Holzhammer zeigen ,wo mein Fehler ist? Ich werd noch wahnsinnig!
Danke
<perl>
if($logout eq "1")
{
mod "Name==$login_name", ["nutzer_sid", ""], "nutzer";
}
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)= gmtime(time);
$sid_aktuell = (1000000*$year)+(10000*$mon)+(100*$mday)+(4*$hour);
$anzeige="";
if($namerein ne "" && pwrein ne "" && $sid eq "")
{
get "Name==!$namerein", "nutzer";
out "<!-- Abfrage ob Name und Passwort übereinstimmen -->";
if($Passwort ne "" && $Passwort eq $pwrein)
{
out "<!-- Session-Id erstellen und mit Url mitgeben -->";
mod "Name==$namerein", ["nutzer_sid", "$sid_aktuell"], "nutzer";
$anzeige="1";
} else
{
out "<b>Anmeldung fehlgeschlagen!</b>";
$namerein="";
$login_name="";
$anzeige="";
}
}
if($namerein ne "" && $sid ne "")
{
out "<!-- Test, ob aktuelle Session-id noch gültig ist -->";
get "Name==$namerein", "nutzer";
$sid_max = 5+(1*$nutzer_sid);
if($sid eq $nutzer_sid && $sid_aktuell <= $sid_max)
{
out "<!-- Session-id ist gültig - Session-id wird aktualisiert -->";
mod "Name==$namerein", ["nutzer_sid", "$sid_aktuell"], "nutzer";
$anzeige="1";
} else
{
out "<!-- Session-id ist abgelaufen -->";
$login_name="$Name";
$namerein="";
$anzeige="";
}
}
out "<!-- Login-seite -->";
if($namerein eq "")
{
out <<EOF;
Passwort-Abfrage
EOF
}
out "<!-- Seiteninhalts, falls berechtigt -->";
if($anzeige eq "1")
{
$nutzerId=$_id;
get "Id==$nutzerId","nutzer";
get "nutzer_id==$nutzerId","autos";
get "Id==* sort=- range=0,3","news";
get "Id==* sort=- range=0,1","Umfragen/Umfrage_nutzer/Umfrage";
$lastvisit=datum($nutzer_lastvisit_datum, "Tag.Monat.Jahr Stunde:Minute");
out <<EOF;
<!-- Anzeige der Nutzerdaten aus der DB-nutzer -->
#
# Nutzerdatenbank abfragen - Ausgabe, wenn mehrere in der DB Nutzer nicht aktiviert
#
while (get_next("nutzer"))
{
$mehrere ="";
if($mehrfach eq "") {
$mehrere="
etwas html-code";
<!-- Einträge des Nutzers in der Datenbank ausgeben -->
EOF
while (get_next("autos"))
{
$farbe=$_loop%2?"#f0f0f0":"#e5e5e5";
out <<EOF;
hier der Inhalt
EOF
}
{
out <<EOF; # so gehts weiter, mit etwas html
<!-- Newsbox ausgeben - Daten wurden im get geholt -->
Kopf der Tabelle
EOF
while (get_next("news"))
{
$termin=datum($Termin, "Tag.Monat.Jahr");
out <<EOF;
hier der Inhalt
EOF
}
{
out <<EOF; # so gehts weiter, mit etwas html und
$lastvisit
Kopf der Tabelle
EOF
while (get_next("Umfragen/Umfrage_nutzer/Umfrage"))
{
out <<EOF;
hier der Inhalt
EOF
}
}
{
out <<EOF; # so gehts weiter, mit etwas html und
<!-- Logout -->
<a href="baseportal.pl?htx=$htx&logout=1" class="navigationoben"> Logout</a>
EOF