<html><head><title></title>
<style>
body { font-family:Arial,Helvetica,sans-serif; background-color:#B00000; font-size:14px; color:#D06000; margin:0;background-image:-; }
.Titel { font-size:32px; color:#FFFFFF; }
.Text { font-family:Arial,Helvetica,sans-serif; font-size:14px; font-style:normal; color:#FFFFFF; }
.Einleitung { font-family:Arial,Helvetica,sans-serif; font-size:14px; font-style:normal; color:#D06000; }
.headback { background-color:#D00000; }
.databack { background-color:#900000; }
.textback { background-color:#700000; }
a:link { text-decoration:none; color:#B0B0B0; }
a:visited { text-decoration:none; color:#B0B0B0; }
a:active { text-decoration:none; color:#FFFFFF; }
a:hover { text-decoration:none; color:#FFFFFF; }
</style>
</head>
<TD class=headback width="100%" colSpan=5 height=20></TD></TR>
<TR>
<TD class=databack width=40></TD>
<TD class=databack width="80%" colSpan=3 height=50></TD>
<TD class=databack width=40></TD></TR>
<TR>
<TD class=textback width=40></TD>
<TD class=textback vAlign=top width="40%">
<P><BR><BR><SPAN class=Titel></SPAN><U>Hinweis:</U> Prüfen Sie, ob das von Ihnen bevorzugte Thema bereits vergeben ist (vorhandener Eintrag unter 'Alles'). <STRONG>Bei doppelt eingetragenen Themen wird nur der zeitlich frühere Eintrag berücksichtigt.</STRONG> </P>
<P>Alle Angaben werden vertraulich behandelt.<BR><BR></P>
<perl>out datum("jetzt", "Tag.Monatname.Jahr")</perl><BR><BR>
<do Thema action=all localparams=+ db=/wigeo_halle/main range^=0,20 sort=Name searchfields=Name listfields=Datum,Bevorzugtes\ Thema,Name allfields=Name,Vorname,E-Mail-Adresse,Strasse,PLZ,Wohnort,Studiengang,Telefonnummer,Imma-Nr.,Bevorzugtes\ Thema,Datum formfields=Name,Vorname,E-Mail-Adresse,Studiengang,Imma-Nr.,Strasse,PLZ,Wohnort,Telefonnummer,Bevorzugtes\ Thema showamount=no selectbrowse=top buttonbrowse=top pagebrowse=top indexbrowse=top convert_br=Bevorzugtes\ Thema gridcolor=900000 datasize=2 datacolor=FFFFFF databack=700000 databack2=900000 headcolor=FFFFFF headback=D00000 textcolor=D06000 listtype=list language=de detail=no search=no input=link maxlistlength=60><BR><BR></TD>
<TD class=textback width=40></TD></TR>
<TR>
<TD class=databack width=40></TD>
<TD class=databack width="80%" colSpan=3 height=50><SPAN class=Einleitung></SPAN></TD>
<TD class=databack width=40></TD></TR>
<TR>
<TD class=headback width="100%" colSpan=5 height=20></TD></TR></TABLE>
<P align=center><SPAN class=Text name="EMail"></SPAN>
<CENTER></CENTER></body>
</html>
#################################################################
# Hier die Felnamen eintragen, durch Komma getrennt auf die #
# geprüft werden soll, es können theoretisch beliebig viele #
# Felder eingetragen werden, bedenken sollte man aber, dass #
# bei vielen Feldern und vielen Datensätzen, die ggf. auf Dou- #
# bletten durchsucht werden sollen u.U. die Scriptlaufzeit #
# sich rheblich erhöht - ggf. üerprüfen #
#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .#
$pruefliste = "Bevorzugtes Thema";
#################################################################
# hier das Feld eintragen, auf das als erstes Kriterium die #
# entsprechenden Datensätze durchsucht werden sollen #
# ACHTUNG! Dieses Feld MUSS auf SORTIERUNG stehen! #
#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .#
$suchfeld = "Bevorzugtes Thema";
#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .#
# Datenbankname anpassen, ggf. geht es auch mit dem Parameter #
# $db - besser/sicherer ist den Datenbanknamen feste anzugeben #
#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .#
$db_work = main;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
# Hier beginnt die Funktion zur Doublettensuche #
# kann normalerweise so bleiben - muss nix weiter angepasst #
# werden #
#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .#
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #
if (%_put && $_get{cmd} ne ""){ # wenn was gespeichert oder geändert werden soll
@l_chk_doppelt = split /\,/, $pruefliste;
my $ds_krit = $_put{$suchfeld}; # hier
get "$suchfeld==$ds_krit", $db_work, "doublettensuche";
while(get_next("doublettensuche")){
$cnt_doublettencheck++;
$cnt_doppelt = 0;
foreach $vergl(@l_chk_doppelt){
# für jedes Feld nachschaun, ob Wert doppelt ist, wenn ja, Zähler erhöhen
my $neu_wert = $_put{$vergl};
$cnt_doppelt++ if $neu_wert eq ${$vergl};
# foreach-Schleife verlassen, wenn ein doppelter DS gefunden wurde
# (wäre ja sinnlos, dann noch weiter zu suchen...)
# doppelter Datensatz liegt vor, wenn alle Felder/Werte aus der
# pruefliste doppelte Werte enthalten (wird einfach nur gezählt,
# wenn der neue und der vorh. Wert übereinstimmt) - wenn der Zähler
# gleich der Anzahl der Elemente der Prüfliste ist, dann liegt ein
# doppelter Datensatz vor
last if $cnt_doppelt == $#l_chk_doppelt +1;
} # E forach - check doppelte DS
# while_get_next-Schleife verlassen, wenn ein doppelter DS gefunden wurde
# (wäre ja sinnlos, dann noch weitere Datensätze zu durchsuchen...)
last if $cnt_doppelt == $#l_chk_doppelt +1;
} # E while_get_next
# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #
if ($cnt_doppelt == $#l_chk_doppelt +1){
$a_dsdoppelt = "Doppelter Datensatz!";
($a_ort,$a_ot,$a_plz) = split /:/,$l_ort_ot_plz;
$a_action = $cmd eq "add" ? "anlegen" : $cmd eq "mod" ? "ändern" : "";
$a_actiontext =<<EOF;
<p>Konnte Datensatz nicht $a_action!<br>
Daten bereits im Datenbestand</p>
<p>[ <a href="javascript:history.back(1)">Zurück</a> ] zur vorherigen Seite</p>
EOF
undef %_put; $_get{cmd}="";
} else {
if($cmd eq "add"){
$a_actiontext = "<p>Datensatz gespeichert...</p>";
put; undef %_put; $_get{cmd}="";
} elsif($cmd eq "mod"){
$a_actiontext = "<p>Datensatz geändert...</p>";
chg; undef %_put; $_get{cmd}="";
} # E if/else DS neu/ändern
} # E if/else DS doppelt oder nicht, Aktion auf DS
# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #
} # E if put+cmd
out "$a_actiontext";
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #
# Ende des Script-Teile zur Doublettensuche #
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #
</perl>