De vraag die ik stelde is ondertussen overbodig.
Weer zo'n typefoutje dat steeds weer over het hoofd gezien is.
Het was een stukje over validatie.
Lees het origineel maar:
http://codewalkers.com/tutorials/47/1.html

En hier was mijn code:

<?php
$valid = TRUE;
if (isset ($_POST['submit'])) {
// foreach($_POST as $key=>$value) {
// $$key = $value;
// }
$isbn2 = $isbn;
$valid = $isb = checklength($isbn, 10, 10);
$isb2 = isdigits($isbn2);
$valid = $valid && $isb2;

if ($valid) {
echo "Form filled successfully!";
//enzovoort
$invoerstring = '<meta http-equiv="refresh" content="0;URL=./boekenbeurs.php">';
echo $invoerstring;
}

}else{

$isb = $isb2 = TRUE;
$isbn = ' ';

} // end if


if (!$valid) {
?>
<style type="text/css">
td.error {color:C03;}
</style>
<center><h3>Wijzig de rood aangegeven velden.</h3></center><br /><br />
<?php
}
?>

<center>
<table border=1>
<form method="post" action="<?php echo $PHP_SELF?>">

<tr><td align="right"<?php if(!$isb||!$isb2) echo 'class="error"';?>>ISBN:</td><td><input type="Text" name="isbn" value="<?= $isbn ?>"></tr>

</table>

Het ging om dit stukje:
<?php if(!$isb||!$isb2) echo 'class="error"';?>

<?php if(!$_POST['isb2']||!$_POST['isb']) echo 'class="error"';?>

Volgens mij hoort het zo..

De fout op zich:

Als $isb2 niet bestaat, dan controleerd hij niet of $isb bestaat.
Waarschijnlijk heb je niet met de $_POST variabele gedaan, zoals ik hierboven heb voorgedaan, dan bestaat de variabele niet, waardoor die ook niet meer op de 2e controleerd.

Reageren