11 proef werkt niet.

Status
Niet open voor verdere reacties.

jacobboersma

Gebruiker
Lid geworden
11 sep 2007
Berichten
428
Ik heb een 11-proef geonden op internet en deze een beetje aangepast. Hij doet zijn werk goed. Ik krijg boven aan de pagina te zien dat mijn bankrekeningnummer klopt of niet.
PHP:
if (!$Bankrekeningnummer) {
    error_reporting (E_ALL);
    function my_11proef ($Bankrekeningnummer) {
        $Bankrekeningnummer = preg_replace ('/[^0-9]/', '', $Bankrekeningnummer); // alle niet-numerieke tekens strippen
        $n = strlen ($Bankrekeningnummer);                            // alvast $n bepalen
        if ($n != 9) return false;                        // wegwezen
        $csom = 0;                                        // deze initialiseren, anders krijg je een notice
        $pos = 9;
        for ($i = 0; $i < $n; $i++) {
            $csom += ($Bankrekeningnummer{$i} * $pos--);                // hier gebeurt de magic!
        }
        return ($csom % 11 == 0);                        // $mod niet nodig; kan ik 1 regel code
    }
    if (my_11proef ('56.35.35.164')) {
        echo 'Bankrekeningnummer klopt';
    }
    else {
        echo 'Bankrekeningnummer klopt niet!';
		echo "<a href='javascript:history.back()'>Ga terug.</a>";
    }exit; }
Nu is het probleem dat als ik het bankrekeningnummer fout invul dat hij dan toch verzend.
Ik heb namelijk ook deze code er in staan er in dan gaat hij niet verzenden.
PHP:
if (!$KNBLO) {
echo "U heeft niet aangegeven of u lid bent van de KNBLO!<BR>";
echo "<a href='javascript:history.back()'>Ga terug.</a>"; 
exit; }

Wie wil mij helpen. Ik zit helemaal vast.
 
Als je goed kijkt naar de code, zie je dat bij het laatste voorbeeld de "exit" BINENN het IF-statement staat.
Bij je eerste staat deze namelijk BUITEN het IF-statement

Code:
   else {
        echo 'Bankrekeningnummer klopt niet!';
        echo "<a href='javascript:history.back()'>Ga terug.</a>";
    }exit; }
Moet zijn:

Code:
   else {
        echo 'Bankrekeningnummer klopt niet!';
        echo "<a href='javascript:history.back()'>Ga terug.</a>";
        exit; }
  }
 
Ik heb hat aangepast.Toch werkt het niet.

Hierbij nog even het hele script.

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Inschrijving 4 juni 2011</title>
</head>
<body>
<style type="text/css">
label {
width: 8em;
float: left;
text-align: left;
margin-left: 0,1em;
clear: both
}

.grayborder {
margin-left: 1.5em
}

.grayborder2 {
margin-left: 3em
}
.Normal-P
        {
        margin:0.0pt 0.0pt 0.0pt 0.0pt; text-align:left; font-weight:400; 
        }
.Normal-P0
        {
        margin:0.0pt 0.0pt 0.0pt 0.0pt; text-align:center; font-weight:400; 
        }
.Normal-C
        {
        font-family:"Arial", sans-serif; font-size:8.3pt; line-height:1.27; 
        }
.Normal-C0
        {
        font-family:"Calibri", sans-serif; font-weight:700; font-size:36.0pt; 
        line-height:1.23; color:#008000; 
        }
.normal-c21-C
        {
        font-family:"Arial", sans-serif; font-size:11.3pt; line-height:1.13em; 
        }
.Normal-C1
        {
        font-family:"Times New Roman", serif; font-size:18.0pt; 
        line-height:1.17; color:#008000; 
        }
</style>
<center>
<div style="position:relative;width:780px;">
<div style="position:absolute; left:7px; top:4px; width:116px; height:175px;">
    <img src="peters.gif" width="116" height="175" border="0" title="" alt="peters.gif"></div>
<div style="position:absolute; left:15px; top:1032px; width:692px; height:28px;">
    <p class="Normal-P"><span class="Normal-C">&copy; 2008 - 201 <a href="mailto:" style="">Jacob Boersma</a>. &nbsp;Alle rechten voorbehouden. Deze website is het beste te bekijken met een schermresolutie van 1024 X 768.<BR><BR></span></p>
</div>
<div style="position:absolute; left:100px; top:15px; width:546px; height:137px;">
    <p class="Normal-P0"><span class="Normal-C0</span></p>
</div>
<div style="position:absolute; left:126px; top:140px; width:518px; height:31px;">
    <p class="Normal-P"><span class="Normal-C1">IN DE GEMEENTE WESTSTELLINGWERF E.O.</span></p>
</div>
<div style="position:absolute; left:650px; top:98px; width:120px; height:67px;">
    <a href="weststel.gif" target="_blank" onclick="WPImagePopup('Weststellingwerfse vlag','_blank',this.href,326,217,''); return false"><img src="afbeeldingen/wp807a852f.gif" width="120" height="67" border="0" title="Weststellingwerfse vlag" alt="Klik voor een vergroting."></a></div>
<div style="position:absolute; left:650px; top:16px; width:120px; height:67px;">
    <a href="friesevlag.jpg" target="_blank" onclick="WPImagePopup('Friese vlag','_blank',this.href,800,444,''); return false"><img src="afbeeldingen/wp43f62200.jpg" width="120" height="67" border="0" title="Friese vlag" alt="Klik voor een vergroting."></a></div>
<div style="position:absolute; left:0px; top:1018px; width:780px; height:1px;">
    <img src="afbeeldingen/wpb8645baa.png" width="780" height="1" border="0" title="" alt=""></div>
<div style="position:absolute; left:0px; top:180px; width:780px; height:22px;">
    <img src="afbeeldingen/wp9b7a6010.png" width="780" height="22" border="0" title="" alt=""></div>
</div>
</center>
<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
<span class="normal-c21-C">
<?php
echo "<body bgcolor=\"#c1fcc1\">";
$Voornaam = ($_POST['Voornaam']);
$Achternaam = ($_POST['Achternaam']);
$Straatnaam = ($_POST['Straatnaam']);
$Huisnummer = ($_POST['Huisnummer']);
$Postcodecijfers = ($_POST['Postcodecijfers']);
$Postcodeletters = ($_POST['Postcodeletters']);
$Woonplaats = ($_POST['Woonplaats']);
$Telefoonnummer = ($_POST['Telefoonnummer']);
$Emailadres = ($_POST['Emailadres']);
$Geboortedag = ($_POST['Geboortedag']);
$Geboortemaand = ($_POST['Geboortemaand']);
$Geboortejaar = ($_POST['Geboortejaar']);
$KNBLO = ($_POST['KNBLO']);
$Aantal_L_W = ($_POST['Aantal_L_W']);
$Aantal_K_W = ($_POST['Aantal_K_W']);
$Aantal_L_N = ($_POST['Aantal_L_N']);
$Aantal_K_N = ($_POST['Aantal_K_N']);
$Voorwaarden = ($_POST['Voorwaarden']);
$Bankrekeningnummer = ($_POST['Bankrekeningnummer']);
$Aanleiding = ($_POST['Aanleiding']);
$Opmerkingen = ($_POST['Opmerkingen']);

if (!$Voornaam) {
echo "U heeft geen voornaam ingevuld!<BR>";
echo "<a href='javascript:history.back()'>Ga terug.</a>"; 
exit; }

if (!$Achternaam) {
echo "U heeft geen achternaam ingevuld!<BR>";
echo "<a href='javascript:history.back()'>Ga terug.</a>"; 
exit; }

if (!$Straatnaam) {
echo "U heeft geen straatnaam ingevuld!<BR>";
echo "<a href='javascript:history.back()'>Ga terug.</a>"; 
exit; }

if (!$Huisnummer) {
echo "U heeft geen huisnummer ingevuld!<BR>";
echo "<a href='javascript:history.back()'>Ga terug.</a>"; 
exit; }

if (!$Postcodecijfers) {
echo "U heeft geen postcode cijfers ingevuld!<BR>";
echo "<a href='javascript:history.back()'>Ga terug.</a>"; 
exit; }

if (!$Postcodeletters) {
echo "U heeft geen postcode letters ingevuld!<BR>";
echo "<a href='javascript:history.back()'>Ga terug.</a>"; 
exit; }

if (!$Woonplaats) {
echo "U heeft geen woonplaats ingevuld!<BR>";
echo "<a href='javascript:history.back()'>Ga terug.</a>"; 
exit; }

if (!$Telefoonnummer) {
echo "U heeft geen telefoonnummer ingevuld!<BR>";
echo "<a href='javascript:history.back()'>Ga terug.</a>"; 
exit; }

if (!$Emailadres) {
echo "U heeft geen E-mailadres ingevuld!<BR>";
echo "<a href='javascript:history.back()'>Ga terug.</a>"; 
exit; }

if (!$Geboortedag) {
echo "U heeft geen geboortedag ingevuld!<BR>";
echo "<a href='javascript:history.back()'>Ga terug.</a>"; 
exit; }

if (!$Geboortemaand) {
echo "U heeft geen geboortemaand ingevuld!<BR>";
echo "<a href='javascript:history.back()'>Ga terug.</a>"; 
exit; }

if (!$Geboortejaar) {
echo "U heeft geen geboortejaar ingevuld!<BR>";
echo "<a href='javascript:history.back()'>Ga terug.</a>"; 
exit; }

if (!$Bankrekeningnummer) {
    error_reporting (E_ALL);
    function my_11proef ($Bankrekeningnummer) {
        $Bankrekeningnummer = preg_replace ('/[^0-9]/', '', $Bankrekeningnummer); // alle niet-numerieke tekens strippen
        $n = strlen ($Bankrekeningnummer);                            // alvast $n bepalen
        if ($n != 9) return false;                        // wegwezen
        $csom = 0;                                        // deze initialiseren, anders krijg je een notice
        $pos = 9;
        for ($i = 0; $i < $n; $i++) {
            $csom += ($Bankrekeningnummer{$i} * $pos--);                // hier gebeurt de magic!
        }
        return ($csom % 11 == 0);                        // $mod niet nodig; kan ik 1 regel code
    }
    if (my_11proef ('56.35.35.164')) {
        echo 'Bankrekeningnummer klopt';
    }
    else {
        echo 'Bankrekeningnummer klopt niet!';
        echo "<a href='javascript:history.back()'>Ga terug.</a>";
        exit; }
  }

if (!$KNBLO) {
echo "U heeft niet aangegeven of u lid bent van de KNBLO!<BR>";
echo "<a href='javascript:history.back()'>Ga terug.</a>"; 
exit; }

if (!$Voorwaarden) {
echo "U bent niet akkoord gegaan met de algemene voorwaarden!<BR>";
echo "<a href='javascript:history.back()'>Ga terug.</a>"; 
exit; }

if (!$Aanleiding) {
echo "U heeft niet de aanleiding van uw inschrijven aangegeven!<BR>";
echo "<a href='javascript:history.back()'>Ga terug.</a>"; 
exit; }

?>
<?php
$con = mysql_connect("localhost","","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("", $con);
$sql="INSERT INTO inschrijvingen2011 (Voornaam, Tussenvoegsel, Achternaam, Straatnaam, Huisnummer, Huisletter, Postcodeletters, Postcodecijfers, Woonplaats, Telefoonnummer, Emailadres, Geboortedag, Geboortemaand, Geboortejaar, KNBLO, Aantal_L_W, Aantal_K_W, Aantal_L_N, Aantal_K_N, Voorwaarden, Bankrekeningnummer, Aanleiding, Opmerkingen)
VALUES
('$_POST[Voornaam]','$_POST[Tussenvoegsel]','$_POST[Achternaam]','$_POST[Straatnaam]','$_POST[Huisnummer]','$_POST[Huisletter]','$_POST[Postcodeletters]','$_POST[Postcodecijfers]','$_POST[Woonplaats]','$_POST[Telefoonnummer]','$_POST[Emailadres]','$_POST[Geboortedag]','$_POST[Geboortemaand]','$_POST[Geboortejaar]','$_POST[KNBLO]','$_POST[Aantal_L_W]','$_POST[Aantal_K_W]','$_POST[Aantal_L_N]','$_POST[Aantal_K_N]','$_POST[Voorwaarden]','$_POST[Bankrekeningnummer]','$_POST[Aanleiding]','$_POST[Opmerkingen]')";
if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "Uw gegevens zijn succesvol verzonden. <BR><BR>";
echo "Druk onderstaande pagina af. Dit is uw bewijs van inschrijven. <BR>";
echo "U heeft tevens een bevestiging per e-mail ontvangen.<BR><BR>";
echo "<fieldset><legend><H3>Persoonsgegevens</H3></legend>";
echo "Voornaam: $_POST[Voornaam] <BR>";
echo "Tussenvoegsel: $_POST[Tussenvoegsel] <BR>";
echo "Achternaam: $_POST[Achternaam] <BR>";
echo "Straatnaam: $_POST[Straatnaam] <BR>";
echo "Huisnummer: $_POST[Huisnummer] <BR>";
echo "Huisletter: $_POST[Huisletter] <BR>";
echo "Postcode en woonplaats: $_POST[Postcodecijfers]&nbsp;$_POST[Postcodeletters]&nbsp;&nbsp;$_POST[Woonplaats] <BR>";
echo "Telefoonnummer: $_POST[Telefoonnummer] <BR>";
echo "E-mailadres: $_POST[Emailadres] <BR>";
echo "Geboortedatum: $_POST[Geboortedag]-$_POST[Geboortemaand]-$_POST[Geboortejaar] <BR>";
echo "Lid KNBLO: $_POST[KNBLO] <BR>";
echo "</fieldset>";
echo "<BR>";
echo "<fieldset><legend><H3>Aantallen</H3></legend>";
echo "Aantal kaarten lange route wandelaars (35 km): $_POST[Aantal_L_W] <BR>";
echo "Aantal kaarten korte route wandelaars (22 km): $_POST[Aantal_K_W] <BR>";
echo "Aantal kaarten lange route Nordic Walkers (35 km): $_POST[Aantal_L_N] <BR>";
echo "Aantal kaarten korte route Nordic Walkers (22 km): $_POST[Aantal_K_N] <BR>";
echo "</fieldset>";
echo "<BR>";
echo "<fieldset><legend><H3>Betalingsgegevens</H3></legend>";
?>
<?php
$bankn = $_POST["Bankrekeningnummer"];
$bedrag = "12.50";
$getal1 = $_POST["Aantal_L_W"];
$getal2 = $_POST["Aantal_K_W"];
$getal3 = $_POST["Aantal_L_N"];
$getal4 = $_POST["Aantal_K_N"];
$subtotaal = $getal1 + $getal2 + $getal3 + $getal4;
$totaal = $subtotaal * $bedrag;
$weergave = '&euro;&nbsp;' . number_format( $totaal, 2 ); 
?>
<?php
echo "<B>Verschuldigde bedrag: $subtotaal X &euro; 12,50 = $weergave.</B><BR>";
echo "<B>Het bedrag van $weergave word afgeschreven van bankrekeningmummer $bankn. </b> <BR><BR>";
?>
<?php
echo "Bankrekeningnummer: $_POST[Bankrekeningnummer] <BR>";
echo "Algemene voorwaarden: $_POST[Voorwaarden] ";
echo "</fieldset>";
echo "<BR>";
echo "<fieldset><legend><H3>Overige gegevens</H3></legend>";
echo "Aanleiding van uw inschrijving: $_POST[Aanleiding]<BR>";
echo "Opmerkingen: $_POST[Opmerkingen]";
echo "</fieldset>";
echo "<BR><BR>";
mysql_close($con)
?>
<a href="javascript:print();">Print deze pagina</a> 
<?php
$Voornaam = ($_POST['Voornaam']);
$Tussenvoegsel = ($_POST['Tussenvoegsel']);
$Achternaam = ($_POST['Achternaam']);
$Straatnaam = ($_POST['Straatnaam']);
$Huisnummer = ($_POST['Huisnummer']);
$Huisletter = ($_POST['Huisletter']);
$Postcodecijfers = ($_POST['Postcodecijfers']);
$Postcodeletters = ($_POST['Postcodeletters']);
$Woonplaats = ($_POST['Woonplaats']);
$Telefoonnummer = ($_POST['Telefoonnummer']);
$Emailadres = ($_POST['Emailadres']);
$Geboortedag = ($_POST['Geboortedag']);
$Geboortemaand = ($_POST['Geboortemaand']);
$Geboortejaar = ($_POST['Geboortejaar']);
$KNBLO = ($_POST['KNBLO']);
$Aantal_L_W = ($_POST['Aantal_L_W']);
$Aantal_K_W = ($_POST['Aantal_K_W']);
$Aantal_L_N = ($_POST['Aantal_L_N']);
$Aantal_K_N = ($_POST['Aantal_K_N']);
$Voorwaarden = ($_POST['Voorwaarden']);
$Bankrekeningnummer = ($_POST['Bankrekeningnummer']);
$Aanleiding = ($_POST['Aanleiding']);
$Opmerkingen = ($_POST['Opmerkingen']);
$bankn = $_POST["Bankrekeningnummer"];
$bedrag = "12.50";
$getal1 = $_POST["Aantal_L_W"];
$getal2 = $_POST["Aantal_K_W"];
$getal3 = $_POST["Aantal_L_N"];
$getal4 = $_POST["Aantal_K_N"];
$subtotaal = $getal1 + $getal2 + $getal3 + $getal4;
$totaal = $subtotaal * $bedrag;
$weergave = number_format( $totaal, 2 ); 


$adres = ">";


$tijd = time();
$datum = strftime("%d/%m/%y %H:%M", $tijd);
$ip = getenv("REMOTE_ADDR");
$message = "
Dit zijn de gegevens die wij van u hebben ontvangen. Bewaar deze e-mail goed of druk deze e-mail af.
Kloppen bepaalde gegevens niet antwoord dan op deze e-mail. Uw gegevens worden dan zo spoedig mogelijk aangepast.

Voornaam: " . $Voornaam . "
Tussenvoegsel: " . $Tussenvoegsel . "
Achternaam: " . $Achternaam . "
Straatnaam: " . $Straatnaam . "
Huisnummer: " . $Huisnummer . "
Huisletter: " . $Huisletter . "
Postcode: " . $Postcodecijfers . " " . $Postcodeletters . "
Woonplaats: " . $Woonplaats . "
Telefoonnummer: " . $Telefoonnummer . "
E-mailadres: " . $Emailadres . "
Geboortedatum: " . $Geboortedag . "-" . $Geboortemaand . "-" . $Geboortejaar . "
Lid KNBLO: " . $KNBLO . "

Aantal kaarten lange route wandelaars: " . $Aantal_L_W . "
Aantal kaarten korte route wandelaars: " . $Aantal_K_W . "
Aantal kaarten lange route Nordic Walkers: " . $Aantal_L_N . "
Aantal kaarten korte route Nordic Walkers: " . $Aantal_K_N . "

Verschuldigde bedrag: " . $subtotaal . " X euro 12,50 = euro " . $weergave . ".
Het bedrag van euro " . $weergave." word afgeschreven van bankrekeningnummer " . $Bankrekeningnummer . ".

Bankrekeningnummer: " . $Bankrekeningnummer . "
Algemene voorwaarden: " . $Voorwaaden . "

Opmerkingen: " . $Opmerkingen . "
Aanleiding van uw inschrijving: " . $Aanleiding . "


Met vriendelijke groet,
Afdeling Inschrijving
";

$mailadres = ($_POST['Emailadres']);
$message = str_replace ("<BR>","\n", $message);
mail("$mailadres", "Inschrijving ",
$message, "From: ".$adres."");
?>
</span>
</body>
</html>
 
Laatst bewerkt:
In regel 159 geef je aan dat er alleen een controle gedaan moet worden indier er GEEN bankrekeningnummer is ingevuld: if (!$Bankrekeningnummer) { ...
Als je wel een banknummer hebt ingevuld, dan wordt de controle overgeslagen.

Dit dien je dus te veranderen.

Als er geen bankrekeningnummer is ingevuld, dan een foutopmerking geven.
Is het wel ingevuld, dan de controle doen op 11-proef.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan