Beitrag von Toralf (101 Beiträge) am Samstag, 16.März.2002, 19:31.
Doppelte Einträge verhindern
Hallo,
ich möchte doppelte Einträge in meiner DB verhindern. Dafür gil folgendes Script:
<perl>
if(%_put)
{
get "Firma==$_put{Firma}&Ort==$_put{Ort}", "db";
if ($_amount>0 && $Firma eq $_put{Firma}) {
out "<b>Eintrag bereits vorhanden!<b><br>Wahrscheinlich haben Sie sich
schon eingetragen.<br>";
undef %_put;
}
}
<br>
</perl>
<do action=input db=db>
Das funktioniert auch wunderbar, solange im Firmenname kein Leerzeichen ist. Andernfalls wird das Script irgendwie umgangen und doppelte Einträge nicht abgelehnt.
Wer hat damit auch schon mal gekämpft oder weiß eine Lösung des Prob´s?
Antworten
Beitrag von Sander (8133 Beiträge) am Samstag, 16.März.2002, 21:09.
Re: Doppelte Einträge verhindern
Antworten
Beitrag von Toralf (101 Beiträge) am Samstag, 16.März.2002, 22:35.
Re: Doppelte Einträge verhindern
Tut mir leid, aber funzt nicht.
Antworten
Beitrag von Sander (8133 Beiträge) am Samstag, 16.März.2002, 23:15.
Re: Doppelte Einträge verhindern
was genau funzt net? Ein Fehler ist in $_put{Ort} drin, ich habs klein geschrieben.
Sander
Antworten
Beitrag von Toralf (101 Beiträge) am Samstag, 16.März.2002, 23:33.
Re: Doppelte Einträge verhindern
Nun das Prob ist das gleiche. Doppelte Einträge werden akzeptiert.
muss nicht alles was $Firma und $Ort ist groß geschrieben werden? frage nur, weil bei dir alles klein.
Antworten
Beitrag von Sander (8133 Beiträge) am Sonntag, 17.März.2002, 13:54.
Re: Doppelte Einträge verhindern
Beim Suchen/ersetzen waren 2 \ zuviel
<perl>
if(%_put)
{
$firma=$_put{Firma}; # Die Firma wird in firma gesichert
$ort=$_put{Ort}; # daselbe mit ort
$firma=~s/ /\\ /g;
$ort=~s/ /\\ /g;
get "Firma==$firma&Ort==$ort", "db"; #datensätze holen
if ($_amount>0 && $Firma eq $_put{Firma}) {
out "<b>Eintrag bereits vorhanden!<b><br>Wahrscheinlich haben Sie sich
schon eingetragen.<br>";
undef %_put;
}
}
<br>
Sander
Antworten
Beitrag von Toralf (101 Beiträge) am Sonntag, 17.März.2002, 17:17.
Re: Doppelte Einträge verhindern
Genau das war es. Jetzt geht´s!
Danke an Olaf und Sander.
Antworten