Hallo Christoph
Hier mal der Code mit dem Sub "Rundholz". Die Navigation kommt aus der DB "subnavig". Hab leider wenig Ahnung wie das ganze im Detail abläuft. Hoffe Du kommst damit zurecht ;-)
<html>
<head>
<title>forst-holz.com</title>
<link rel="stylesheet" href="http://www.antiquitaeten-portal.de/holz.css" type="text/css">
</head>
<body bgcolor=ffffff text=000000>
<perl>
$lang||="de"
</perl>
<include src=/forst-holz/$lang>
<perl>
out "<table width=570 bgcolor=ffffff align=center>";
out "<tr><td align=center><font color='000000'><h2>$lang{Login_Bereich}</h2></font></td></tr>";
out "</table>";
my $msg="";
if($cmd eq ""){
$msg="<b><br>$lang{Bitte_melden}<br>";
&login;
} elsif($cmd eq "$lang{Submit_Login}" && $Work eq ""){
if($name_rein ne "" && $pw_rein ne ""){
get "nutzer_name==$name_rein", "Nutzer";
&check_passwort;
}else{
$msg="<font color=red><b>$lang{Anmeldung_fehlgschlagen}</b></font><br>$lang{Falsch}";
&login;
}
}
if($Work ne ""){
&$Work;
}
######## Unterrutinen #####################################
####### Anmeldeformular Anzeigen ########################
sub login
{
## Hab ich weggelassen ##
}
####### Anmeldung ueberpruefen ##########################
sub check_passwort
{
## Hab ich weggelassen ##
}
####### Startseite nach Anmeldung ausgeben ###############################
sub Start
{
my $ausgabe="";
&navigation;
out "<table width=570 border=0 align='center'><tr><td valign='top' width='50%'>";
&Holzboerse;
out "</td><td valign='top' width='50%'>";
&Maschinenboerse;
&Dienstleistung;
out "</td></tr></table>";
$ausgabe="<tr bgcolor=ffcc33 class=txt11><th valign=top>$lang{Seite_Bereich}</th><th>$lang{Rechte1}</th></tr>";
get "LinkPos==*","subnavig";
while(get_next("subnavig")){
$wert = $user_recht{$Seite};
if($wert){
$wert=~ s/rw/$lang{Rechte_Lesen_Schreiben}<br>/;
$wert=~ s/d/$lang{Rechte_Loeschen}<br>/;
$wert=~ s/m/$lang{Rechte_Aendern}<br>/;
$wert=~ s/u/<b>$lang{Rechte_Eigene}<\/b><br>/;
$wert=~ s/x/<b>$lang{Rechte_Alle}<\/b><br>/;
$ausgabe=$ausgabe."<tr><td valign=top>${LinkTitel_.$lang}</td><td>$wert</td></tr>";
}
}
out <<EOF;
<table align='center' width=570 cellpadding=6 cellspacing=0 bgcolor=ffcc33 border=1 bordercolor=000000>
<tr><td align='center'><b>$lang{Willkommen_Admin}</b><p>$lang{Waehlen_Bereich}</p><p></p></td></tr>
EOF
### $ausgabe Rechte ausgeblendet ####################
out "</table>";
}
####### Nutzer Seite ################
sub Nutzer
{
## hab ich mal weggelassen ##
}
####### Nutzer Formular ausgeben ###########
sub Nutzer_form
{
## hab ich mal weggelassen ##
}
####### Rechte aus dem Formular in eine Varable Basteln
sub make_rechte
{
my $rwx="";
get "Redaktion==* sort=LinkPos","subnavig";
while(get_next("subnavig")){
if($_get{$Seite."_admin"} ne ""){
$rwx=$rwx.$Seite.",".$_get{$Seite."_admin"}.$_get{$Seite."_rw"}.$_get{$Seite."_m"}.$_get{$Seite."_d"}.",";
}
}
return $rwx;
}
###### Rundholz ####################
sub Rundholz
{
&navigation;
out "<table width=570 border=0 align='center'><tr><td valign='top' width='50%'>";
&Holzboerse;
out "</td><td valign='top' width='50%'>";
&Maschinenboerse;
&Dienstleistung;
out "</td></tr></table>";
$Seite_rechte=$user_recht{$Work}; # Die Rechte Des Nutzers für diese Seite speichern
if($cmd eq "add"){
put ["I_art", "$in_I_art", "Holzart", "$in_Holzart", "Q_1021", "$in_Q_1021", "Q_sonstige", "$in_Q_sonstige", "Staerke_kl", "$in_Staerke_kl", "Mitten_dm", "$in_Mitten_dm", "Zopf_dm", "$in_Zopf_dm", "Entrindet", "$in_Entrindet", "Laenge", "$in_Laenge", "Uebermass", "$in_Uebermass", "Menge_fm", "$in_Menge_fm", "Zertifikat", "$in_Zertifikat", "Einschlagdatum", "$in_Einschlagdatum", "Preis", "$in_Preis", "Erfuellungsort", "$in_Erfuellungsort", "Bez_Ort", "$in_Bez_Ort", "LZ_von", "$in_LZ_von", "LZ_bis", "$in_LZ_bis", "Sonstiges", "$in_Sonstiges", "Nutzer", "$Nutzer"], "$Work";
out "<table width=570 align=center><tr><td><b>Neuen Eintrag hinzugefügt...</b></td></tr></table>";
$cmd = "Liste";
} elsif($cmd eq "mod"){
get "Id==$id", "$Work";
&Rundholz_form("<b>Eintrag Ändern.</b>","do_mod","$_id") ;
} elsif($cmd eq "do_mod"){
mod "Id==$id", ["I_art", "$in_I_art", "Holzart", "$in_Holzart", "Q_1021", "$in_Q_1021", "Q_sonstige", "$in_Q_sonstige", "Staerke_kl", "$in_Staerke_kl", "Mitten_dm", "$in_Mitten_dm", "Zopf_dm", "$in_Zopf_dm", "Entrindet", "$in_Entrindet", "Laenge", "$in_Laenge", "Uebermass", "$in_Uebermass", "Menge_fm", "$in_Menge_fm", "Zertifikat", "$in_Zertifikat", "Einschlagdatum", "$in_Einschlagdatum", "Preis", "$in_Preis", "Erfuellungsort", "$in_Erfuellungsort", "Bez_Ort", "$in_Bez_Ort", "LZ_von", "$in_LZ_von", "LZ_bis", "$in_LZ_bis", "Sonstiges", "$in_Sonstiges"], "$Work";
out "<table width=570 align=center><tr><td><b>Eintrag geändert...</b></td></tr></table>";
$cmd = "Liste";
$Titel=$Text="";
} elsif($cmd eq "del"){
del "Id==$id", "$Work";
out "<table width=570 align=center><tr><td><b>Eintrag gelöscht...</b></td></tr></table>";
$cmd = "Liste";
$Titel=$Text="";
}
if($cmd eq "Liste"){
&Rundholz_form("<h4><b>Holzboerse/Rundholz</b></h4><br>","add") ;
if($Seite_rechte =~ "u"){
get "Nutzer==$Nutzer", "$Work";
} elsif($Seite_rechte =~ "x"){
get "Id==*", "$Work";
}
while (get_next("$Work")){
$buttons="<a href='/cgi-bin/baseportal.pl?htx=$htx&Work=$Work&login_name=$login_name&cmd=mod&id=$_id'>Ändern</a>" if $Seite_rechte =~ "m";
$buttons=$buttons." <a href='/cgi-bin/baseportal.pl?htx=$htx&Work=$Work&login_name=$login_name&cmd=del&id=$_id'>Löschen</a>" if $Seite_rechte =~ "d";
$Datum = datum($Datum,"Tag0.Monat0.Jahr");
$Text=convert_br($Text);
out <<EOF;
<br>
<table width=570 bgcolor=000000 align='center'>
<tr><td>
<table width=570 bgcolor=ffffff>
<tr><td bgcolor=ffcc33><b>($_id) $Holzart</b></td></tr>
<tr><td>$Text<br><br><b>$Preis</b><br><br></td></tr>
<tr><td bgcolor=ffcc33>$Datum</td></tr>
</table>
</td></tr>
</table>
<table width=570 align=center><tr><td>
$buttons<br><br>
</td></tr></table>
EOF
}
}
}
#### Rundholz Formular #################
sub Rundholz_form
{
my ($msg,$to_do,$id) = @_;
if($Seite_rechte =~ "w"){
if($to_do eq "do_mod"){
$ds="<input type='hidden' name='id=' value='$id'>";
} elsif($to_do eq "add"){
$ds="<input type='hidden' name='in_Nutzer=' value='$Nutzer'>";
$Autor=$Vorname." ".$Name;
$Antwort=$nutzer_email;
}
$Datum_ein = datum($Einschlagdatum,"Tag0.Monat0.Jahr");
$Datum_von = datum($LZ_von,"Tag0.Monat0.Jahr");
out <<Formular;
<form action="/cgi-bin/baseportal.pl?htx=$htx" method="post" enctype="multipart/form-data">
<input type="hidden" name="htx=" value="$htx">
<input type="hidden" name="Work=" value="$Work">
<input type="hidden" name="login_name=" value="$login_name">
<input type="hidden" name="cmd=" value="$to_do">
<input type="hidden" name="in_Antwort=" value="$Antwort">
## Hab ich weggelassen ##
</form>
Formular
}
}
####### Navigation ausgeben #########
sub navigation
{
my $links="";
&get_rechte;
get "Redaktion==* LinkPos==0 sort=LinkPos","subnavig";
while(get_next("subnavig")){
$links=$links."<a href='/cgi-bin/baseportal.pl?htx=$htx&login_name=$login_name&Work=$Seite&cmd=Liste&lang==$lang'>${LinkTitel_.$lang}</a><br>" if $user_recht{$Seite};
}
out "<table width=570 cellpadding=0 cellspacing=0 align=center>
<tr><td bgcolor=ffcc33 align='center' class='txt14b'>Nutzer Daten</td></tr></table>";
out "<table width=100% cellpadding=0 cellspacing=0 align=center>
<tr><td bgcolor=ffffff align='center' valign='top'><br>$links<br><br></td></tr></table>";
}
sub Holzboerse
{
my $links="";
&get_rechte;
get "Redaktion==* LinkPos>0&LinkPos<11 sort=LinkPos","subnavig";
while(get_next("subnavig")){
$links=$links."<a href='/cgi-bin/baseportal.pl?htx=$htx&login_name=$login_name&Work=$Seite&cmd=Liste&lang==$lang'>${LinkTitel_.$lang}</a><br>" if $user_recht{$Seite};
}
out "<table width=100% cellpadding=0 cellspacing=0 align=center>
<tr><td align='center' class='txt14b' bgcolor='ffcc33'>Holzboerse</td></tr></table>";
out "<table width=100% cellpadding=0 cellspacing=0 align=center>
<tr><td bgcolor=ffffff align='center' valign='top'><br>$links<br><br></td></tr></table>";
}
sub Maschinenboerse
{
my $links="";
&get_rechte;
get "Redaktion==* LinkPos>10&LinkPos<13 sort=LinkPos","subnavig";
while(get_next("subnavig")){
$links=$links."<a href='/cgi-bin/baseportal.pl?htx=$htx&login_name=$login_name&Work=$Seite&cmd=Liste&lang==$lang'>${LinkTitel_.$lang}</a><br>" if $user_recht{$Seite};
}
out "<table width=100% cellpadding=0 cellspacing=0 align=center>
<tr><td align='center' class='txt14b' bgcolor='ffcc33'>Maschinenboerse</td></tr></table>";
out "<table width=100% cellpadding=0 cellspacing=0 align=center>
<tr><td bgcolor=ffffff align='center' valign='top'><br>$links<br><br></td></tr></table>";
}
sub Dienstleistung
{
my $links="";
&get_rechte;
get "Redaktion==* LinkPos==13 sort=LinkPos","subnavig";
while(get_next("subnavig")){
$links=$links."<a href='/cgi-bin/baseportal.pl?htx=$htx&login_name=$login_name&Work=$Seite&cmd=Liste&lang==$lang'>${LinkTitel_.$lang}</a><br>" if $user_recht{$Seite};
}
out "<table width=100% cellpadding=0 cellspacing=0 align=center>
<tr><td align='center' class='txt14b' bgcolor='ffcc33'>Dienstleistungsboerse</td></tr></table>";
out "<table width=100% cellpadding=0 cellspacing=0 align=center>
<tr><td bgcolor=ffffff align='center' valign='top'><br>$links<br><br></td></tr></table>";
}
####### Rechte des Nutzers aus der Datenbank auslesen und in Variable speichern.
sub get_rechte
{
get "nutzer_name==$login_name", "Nutzer";
%user_recht=split(/,/,$nutzer_rechte); # in diesem Hashe stehen die rechte des nutzers.
}
</perl>