Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[CGI mailform] verplichte velden probleem

Dutch webdesign guy
3 antwoorden
  • Ik gebruik een script waarbij enkele velden verplicht ingevuld dienen te worden, dit gebeurt met onderstaande code:
    code:
    ——————————————————————————–
    if(defined($form->param('Voornaam'))){
    $firstName = $form->param('Voornaam');
    } else{
    $notDefined .= "
    Voornaam<BR>";
    }

    if(defined($form->param('Achternaam'))){
    $lastName = $form->param('Achternaam');
    } else {
    $notDefined .= "
    Achternaam<BR>";
    }

    if(defined($form->param('E-mail adres'))){
    $emailAddress = $form->param('E-mail adres');
    } else {
    $notDefined .= "
    E-mail adres<BR>";
    }

    if(defined($notDefined)) {

    print <<"EOE";
    <HTML>
    <HEAD>
    <TITLE>Fout</TITLE>
    </HEAD>
    <BODY BGCOLOR="#FFFFFF">
    De html file van waaruit dit script gestart is bevat geen veld genaamd:
    <BR><BR>$notDefined
    <BR>
    Zonder deze velden kan dit script niet werken.
    <BR><BR>
    Neem contact op met de beheerder van deze site
    <BR><BR>
    Klik <A HREF="$homepage">hier</A> om door te gaan…
    </BODY>
    </HTML>
    EOE

    exit 1;

    }

    $form->delete('button');
    @names = $form->param;

    ——————————————————————————–




    Dit werkt, maar hoe kan ik nu toevoegen dat:

    Als een ander veld, bijvoorbeeld "klantnummer" is ingevuld, dat de bovenstaande velden niet meer verplicht zijn, en dat het formulier verstuurd kan worden met alleen het veld "klantnummer" ingevuld.

    Als "klantnummer" niet is ingevuld, dan moeten de overige velden wel verplicht zijn.
  • even simpel:

    if
    $klantnummer.value !=""
    {hier verder met check}
    else
    {hier versturen}




    toch?

    t.
  • Sorry, niet de goede code geplaatst.

    Hier worden de velden gecontroleerd of ze ingevuld zijn:

    [code:1:7dd1372621]
    sub checkError{

    my $whichForgotten=undef;


    if (!$firstName) {
    $whichForgotten .= "<LI>Uw voornaam
    ";
    }

    if (!$lastName) {
    $whichForgotten .= "<LI>Uw achternaam
    ";
    }

    if (!$gsm) {
    $whichForgotten .= "<LI>Het GSM nummer";
    }

    if (!$emailAddress) {
    $whichForgotten .= "<LI>Uw e-mail adres";
    }

    if (defined $whichForgotten) {
    print <<"EOT";
    <BR><BR>
    <FONT FACE="ARIAL" SIZE="2" COLOR="$fColor">
    <H3>$error</H3>
    $errorNote<BR>
    <BR>
    <UL>
    $whichForgotten
    </UL>
    <BR><BR>
    Klik <A HREF="javascript:history.back()">hier</A> om terug te gaan..<BR>
    Of gebruik de "Terug" knop van uw brower.
    </FONT>
    </TD>
    </TR>
    EOT
    exitScript("",1);

    } elsif(checkEmail($emailAddress)) {

    print <<EOT;
    <BR><BR><BR>
    <FONT FACE="ARIAL" SIZE="2" COLOR="$fColor">
    <H3>$error</H3>
    <BR>
    U heeft een ongeldig e-mail adres ingevuld.<BR>
    <BR><BR>
    Klik <A HREF="javascript:history.back()">hier</A> om terug te gaan..<BR>
    Of gebruik de "Terug" knop van uw brower.
    </FONT>
    </TD>
    </TR>
    EOT
    exitScript("",1);
    }
    }


    [/code:1:7dd1372621]


    Nu heb ik dus een veld klantnummer.

    Hoe kan ik het zo inpassen, dat als klantnummer is ingevuld dat de controles op de andere velden niet meer worden uitvoerd?

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.