Hallo zusammen,
habe da ein Problem welches mich doch einige Zeit gekostet/kostet hat.
in meinem CGI bzw. in zugehörigen perl-script werden alle Felder die "required" sind überprüft. Bei allen Feldern außer SGeschlecht kommt auch im Fehlerfall brav die Fehlermeldung.
Bin ich blind?
Bitte schaut mal drüber und gebt mir bitte einen Tipp
<form name="oa_bwm" action="http://bwm2009k.dynalias.com/cgi-bin/BWM2011K_vE600.pl" method="post" target="_top">
<input name="sprache" type="hidden" id="sprache" value="de">
<input type="hidden" name="subject" value="Online-Anmeldung zum 36. Internationalen Bienwald-Marathon am 13.03.2011">
<input type="hidden" name="recipient" value="2">
<input type="hidden" name="print_blank_fields" value="0">
<input type="hidden" name="required" value="SName,SVna,SE-Mail,SE-Mail2,SGeschlecht,SStrecke,DatenWeiter,Vorzahl">
<input type="hidden" name="DataName" value="SName,SVna,SStrasse,SPlz,SOrt,SE-Mail,SE-Mail2,SVerein,SGb_tag,SGb_mon,SGb_jg,SNation,SChip_nr,SGeschlecht,SStrecke,Medaille,pfm,bzm,DatenWeiter,Vorzahl,Anmerkung">
<input type="hidden" name="print_config" value="email,subject">
Hier der Perlcode
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# prüfung auf inhalt
if (index($q->param('required'),$feld) >= 0) {
if (index($feld,"Mail") >= 0) {
if (index($q->param($feld),"@") < 0 or index($q->param($feld),".") < 0 or index($q->param($feld)," ") >= 0) {
$cMeldErrTxt = 'E-Mail Adresse: falsche Syntax oder leer';
$lAnyErr = 1;
}
# beide MailAdressen gleich ?
elsif ($nEMail > 1) {
if (index($q->param("SE-Mail"),$q->param($feld)) < 0) {
$cMeldErrTxt = "E-Mail Adressen nicht gleich";
$lAnyErr = 1;
}
}
}
elsif (length($q->param($feld)) < 0) {
$cMeldErrTxt = "Feld darf nicht leer sein!\n";
$lAnyErr = 1;
}
}
# nötig ende nun die sonderfälle
Vielen Dank vorab
Heinz-Dieter
//Modedit GwenDragon: Titel geändert
Last edited: 2010-09-29 14:06:33 +0200 (CEST)