Valideren
Ik heb, na veel tobben en prutsen én de hulp van forum gebruikers, een aantal perfect werkende formulieren waarvan de gegevens, na submit, zowel in een database worden weggeschreven en verzonden via mail.
In de formulieren komen nogal wat keuzelijsten voor die ik laat vullen met gegevens uit een tabel. Dit doe ik met aanroepen van externe functies.
Wat me niet lukt is het valideren van de gegevens. Ik gebruikte voorheen een javascript maar dat werkt niet meer nu ik php toepas. Het valideren met php zelf, hiertoe heb ik een aantal verschillende mogelijkheden uitgeprobeerd, gaat ook niet helemaal goed.
Ik wil graag dat, als een gegeven niet is ingevuld, het formulier opnieuw wordt getoond en de juist ingevulde gegevens laat staan zodat alleen de verkeerde velden opnieuw moeten worden ingevuld. Pas daarna mogen de gegevens verwerkt worden.
Kan iemand me hierbij een eindje op weg helpen?
Mijn code ziet er als volgt uit (ingekort):
<BODY>
Code (php)
<!-- De tabel met formulier, wordt afgehandeld met php -->
<TABLE>
<form method="post" name="audits" onsubmit="javascript: return validateForm();" action="" >
<TABLE> De tabel binnen het formulier met in een aantal cellen een aanroep naar een functie
</TABLE>
</FORM></TD>
</TABLE>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
} // sluit eerste accolade van if submit
elseif(!empty($_POST['Submit'])) //het formulier is verzonden c.q er is op Submit geklikt
{ // open accolade voor elseif
// Schrijf de gegevens in de tabel
$insert = "INSERT INTO enz....
$query = mysql_query($insert) OR die(mysql_error());
// Toon de ingevulde gegevens op de pagina
echo ("<font color=\"#003366\">De volgende gegevens zijn toegevoegd: </font><br>\n");
Hierna alle waarden onder elkaar
?>
} // sluit eerste accolade van if submit
elseif(!empty($_POST['Submit'])) //het formulier is verzonden c.q er is op Submit geklikt
{ // open accolade voor elseif
// Schrijf de gegevens in de tabel
$insert = "INSERT INTO enz....
$query = mysql_query($insert) OR die(mysql_error());
// Toon de ingevulde gegevens op de pagina
echo ("<font color=\"#003366\">De volgende gegevens zijn toegevoegd: </font><br>\n");
Hierna alle waarden onder elkaar
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// Als vestiging is nn dan mailen naar xxx
switch($vestiging) { // open accolade switch
case "Rotterdam";
code
break;
} // sluit accolade switch
// Verzend de gegevens via mail
mail(waarden);
// Dit geeft een berichtje weer dat het formulier is verzonden.
echo "<B><font color=\"#003366\">De informatie is verzonden.</font></B>";
} // sluit accolade voor elseif
?>
// Als vestiging is nn dan mailen naar xxx
switch($vestiging) { // open accolade switch
case "Rotterdam";
code
break;
} // sluit accolade switch
// Verzend de gegevens via mail
mail(waarden);
// Dit geeft een berichtje weer dat het formulier is verzonden.
echo "<B><font color=\"#003366\">De informatie is verzonden.</font></B>";
} // sluit accolade voor elseif
?>
</BODY>
</HTML>
Er zijn nog geen reacties op dit bericht.