Hallo zusammen!
Ich brauch mal bitte wieder eure Hilfe:
Nutzer (festgelegt in der DB "nutzer" sollen nur ihre eigenen Datensätze (sie sich in der DB "adressen" befinden) angezeigt bekommen, nachdem sie sich eingloggt haben und dann natürlich auch nur diese bearbeiten können. Dazu habe ich das Beispiel aus der Bib (Gruppenliste mit Sid, Admintool usw.) genommen und versucht, es umzubasteln *schwitz*
Es zeigt mir aber immer komplett alle Einträge an, die in der Datenbank "adresse" sind und ich kann auch alle Einträge mit jedem Nutzernamen ändern...
Hab ich da jetzt nen vollkommenen Denkfehler drin, eignet sich das Script gar nicht für das, was ich brauche oder wo liegt der Fehler?
Ich wurschtel da seit 3 Tagen rum und hab inzwischen überhaupt keinen Plan mehr - ich hoffe auch eure Hilfe :-)
Liebe Grüße und eine dunkle Nacht *grins*
Diana
Hier der Code:
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)= gmtime(time);
$sid_aktuell = (1000000*$year)+(10000*$mon)+(100*$mday)+(4*$hour);
###### Log out ###### muß nat. ein logoutlink mit rein
if($cmd eq "logout")
{
mod "nutzer_name==!$namerein", ["nutzer_sid", "0"], "nutzer";
out <<EOF;
Ausgeloggt!<br><br>
Wollen sie sich erneut einloggen?<br>
<a href=baseportal.pl?htx=/DianaS/adressen onmouseover="window.status='http://www.qxs.ch/adresses.htm'; return true" onmouseout="window.status=''"><b>Ja</b></a></p><br>
<br>
EOF
##### Logout ende ######
##### login? ########
}elsif ($cmd eq "login")
{
if($namerein ne "" && pwrein ne "" && $sid eq "")
{
get "nutzer_name==!$namerein","nutzer";
if($nutzer_passwort ne "" && $nutzer_passwort eq $pwrein)
{
mod "nutzer_name==$namerein", ["nutzer_sid", "$sid_aktuell"], "nutzer";
$sid="$sid_aktuell";
}else
{
out "<b>Anmeldung fehlgeschlagen!</b>";
$namerein="";
$login_name="";
}
}
}
if($namerein ne "" && $sid ne "")
{
out "<!-- test, ob aktuelle session-id noch gültig ist -->";
get "nutzer_name==$namerein", "nutzer";
$sid_max = 10+(1*$nutzer_sid);
if($sid eq $nutzer_sid && $sid_aktuell <= $sid_max)
{
out "<!-- session-id ist gültig - session-id wird aktualisiert -->";
mod "nutzer_name==$namerein", ["nutzer_sid", $sid_aktuell], "nutzer";
$sid=$sid_aktuell;
######### Ab hier alles rein, was nach login gemacht werden darf ##########
if ($cmd eq "login")
{
out <<EOF;
<SCRIPT LANGUAGE="JAVASCRIPT">
<!--// Script by Marco Weber
var URL="http://baseportal.de/cgi-bin/baseportal.pl?htx=/DianaS/adressen&namerein=$namerein&sid=$sid";
parent.location.href=URL;
//--> </SCRIPT>
EOF
}
if($Schreiben eq "ja")
{
do_all "datacolor=404040 databack=FFFFFF dataface=verdana datasize=2 headback=404040 headbold=1 headcolor=00CCFF spacing=1 gridcolor=000000 border=0 sort^=Name range^=0,20 pagebrowse=no buttonbrowse=top,bottom indexfield=Name listtype=list listfields=Name,PLZ,Ort input=link", "namerein", "sid=$sid", "Schreiben=$Schreiben";
}elsif ($Schreiben ne "ja")
{
do_all "datacolor=404040 databack=FFFFFF dataface=verdana datasize=2 headback=404040 headbold=1 headcolor=00CCFF spacing=1 gridcolor=000000 border=0 sort^=Name range^=0,20 pagebrowse=top,bottom buttonbrowse=top,bottom selectbrowse=no indexfield=Name listtype^=list listfields=-Aktion,Id,Telefon,Fax,Handy,Email,Home,Anrede,Wegbeschreibung,Profil,Rubrik1,Rubrik2,Rubrik3,Rubrik4,Stadtteil,Landkreis,Vorname,Nachname,Offen,Logo,Back,Datum allfields=-Aktion,Id input=link", "namerein", "sid=$sid";
out <<EOF;
<table cellpadding=2 cellspacing=1 border=0>
<tr><td></td><td>Hallo $namerein!</td>
<tr>
<td></td><td align=center>
<a href=http://baseportal.de/cgi-bin/baseportal.pl?htx=/DianaS/change&namerein=$namerein&sid=$sid&numma=$Numma><b>EINTRAG ÄNDERN</b></font></a> </td>
<td></td><td align=center>
<a href=baseportal.pl?htx=/DianaS/adressen&cmd=logout&namerein=$namerein><b>LOG OUT</b></font></a> </td></tr>
</table><br><br>
EOF
}
###### Ende der erlaubten Tätigkeiten #######
}else
{
out "Session-id ist abgelaufen - Bitte melden Sie sich erneut an";
$login_name="$nutzer_name";
$namerein="";
}
}
if($namerein eq "")
{
out <<EOF;
<table width=90% border=0 cellspacing=0 cellpadding=6>
<tr><td>
<form action="http://baseportal.de/cgi-bin/baseportal.pl?htx=$htx&cmd=login" method="post" enctype="multipart/form-data">
<input type=hidden name="htx=" value="$htx"><input type=hidden name="cmd=" value="login">
<table>
<tr><td colspan="2"><br><b>KUNDEN-LOGIN</b><br><br><br>Sie haben einen Login-Namen und ein Passwort, dann melden Sie sich bitte hier an, um Ihre Daten einzutragen oder zu ändern:<br><br></td></tr>
<tr>
<td>Login-Name:</p></td>
<td><input type="text" name="namerein=" value="$login_name"></td>
</tr>
<tr>
<td>Passwort:</p></td>
<td><input type="password" name="pwrein="></td>
</tr>
<tr><td></td><td><input type=submit value="Anmelden"></td></tr>
</table></form></td></tr></table>
EOF
}
###### ende login #####
</perl>