Ik heb voor een vereniging een bestelformulier gemaakt. D.Mv. dit formulier kunnen 1 tot maximaal 10 artikelen worden besteld. De bestelling wordt in een database opgeslagen. Als men bv maar 1 artikel bestelt, worden er 10 records toegevoegd, waarvan 9 lege. Hoe kan ik in het script zorgen dat lege records niet worden opgeslagen. Het formulier staat op: http://www.info-sec.nl/bodyringenbestelling.htm

Dit is een stukje van het script:
<?php

$con = mysql_connect("");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}mysql_select_db("infosec", $con);
$sql="INSERT INTO kweker (naam, adres, postcode,woonplaats,telefoon,seclidnr,email,lidnb,kweeknr)
VALUES
('$_POST[naam]','$_POST[adres]','$_POST[postcode]','$_POST[woonplaats]','$_POST[telefoon]','$_POST[seclidnummer]','$_POST[email]','$_POST[lidnbvvja]','$_POST[kweeknummer]')";

$sql2="INSERT INTO bestelling (soort, ringmaat, volgnr, aantal, gekleurd, geannodiseerd, aluminium, rvs, bedrag)
VALUES
('$_POST[naamvogel1]','$_POST[maat1]','$_POST[volgnummer1]','$_POST[aantal1]','$_POST[gekl1]','$_POST[gekleurdgeanodiseerd1]','$_POST[aluminium1]','$_POST[rvs1]','$_POST[prijsvogel1]')";

$sql3="INSERT INTO bestelling (soort, ringmaat, volgnr, aantal, gekleurd, geannodiseerd, aluminium, rvs, bedrag)
VALUES
('$_POST[naamvogel2]','$_POST[maat2]','$_POST[volgnummer2]','$_POST[aantal2]','$_POST[gekl2]','$_POST[gekleurdgeanodiseerd2]','$_POST[aluminium2]','$_POST[rvs2]','$_POST[prijsvogel2]')";

Tussen elke $SQL moet een controle loop die kijkt of een regel leeg is. Bij een leeg veld bv naamvogel2 in soort moet het stoppen. Ik probeer vanalles, maar kom er niet uit
Ik krijg deze foutmelding als ik dit stukje script invoeg. Dit doe ik na de error setting aan het begin van het script

Undefined variable: iRecodsBestelForm in /home/info-sec.nl/public_html/noppes.php on line 4
Wat heb jij als regel 4?
Dit is het hele beginstuk:
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
for ($i=0;$i<$iRecodsBestelForm;$i++) {
echo '<br />Bestelregel:'.sprintf('%03s',$i).'<br />'.PHP_EOL;
for ($f=0;$f<$iFieldsInForm;$f++) {
echo str_pad($aFieldsBestelForm[$f],20,'_',STR_PAD_RIGHT).': <input name="record['.$i.']['.$aFieldsBestelForm[$f].'] type="text" maxlength="20" /><br>'.PHP_EOL;
}
}

// connectie database
Zet je code even tussen [ignore]
[/ignore] tags.
Dat is niet de code die Noppes in zijn lange post gaf...
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
for ($i=0;$i<$iRecodsBestelForm;$i++) {
echo '<br />Bestelregel:'.sprintf('%03s',$i).'<br />'.PHP_EOL;
for ($f=0;$f<$iFieldsInForm;$f++) {
echo str_pad($aFieldsBestelForm[$f],20,'_',STR_PAD_RIGHT).': <input name="record['.$i.']['.$aFieldsBestelForm[$f].'] type="text" maxlength="20" /><br>'.PHP_EOL;
}
}

// connectie database


nee dit was niet de eerste noppes post, maar later toegevoegd om het formulier overzichtelijk te maken

Reageren