heb hiervoor al veel forums voor geraadpleegt, nu hoop ik hier toch echt de oplossing te vinden :D

ik heb een klantprofiel pagina
voor de klant kan je producten bestellen.
alle producten die voor de klant zijn komen op de overzichtpagina te staan.
op de overzichtpagina heeft elk product een selectbox:

<input type="checkbox" name="array[]" value="<?php echo $obj['prdid'];?>">

als je product selecteer, word het prdid in de array gezet. het array gebeuren gaat verder goed.
Als je op submit klik kom je op Factuur.php
Hier word de array uitgelezen:
$IDArray = implode(',',$_POST['array']);

met een query haal ik vervolgens de product gegevens weer uit de database.

Nu komt het probleem
op de factuurpagina heb ik nog een formuliertje staan. Op dat formuliertje kan je invullen hoeveel behandelingen er gedaan zijn en hoeveel extra minuten er verstreken zijn in de behandeling. als je iets invul en je druk op submit word er een berekening gedaan en word er een bedrag getoond voor de behandelingen.
Zodra dit gebeurd, raak ik de gegevens kwijt uit de array van de producten! Hoe kwijg ik dit probleem opgelost?

Iemand zei dat ik het formuliertje een hidden field moest doen, maar dit hielp niet...

Ik zal hier de link neer zetten van de pagina waar je de producten kan selecteren. Verwijder AUB niks daar, anders kan niemand anders het zien ( tenzij ik het zie en weer producten toevoeg )

http://www.c-jochemsen.nl/project/overzicht.php?klantnr=1

Hieronder de source van factuur.php

<h1>Factuur</h1><p>
<h2>Producten</h2>

<?php
include("dbconnect1.php");
$IDArray = implode(',',$_POST['array']);
$Sql = 'SELECT prdid, naampd, aantal, prijs FROM pdklant WHERE prdid IN('.$IDArray.')';
if($Res = mysql_query($Sql)){
?>
<table>
<tr>
<td width="50"><b>Nr</td>
<td width="75"><B>Product</td>
<td width="75"><b>Prijs</td>
<td width="75"><b>Aantal</td>
<td><b>Totaal</td>
</tr>
<?php
while($Row = mysql_fetch_assoc($Res)){

?>
<tr>
<td>
<?php echo $Row['prdid'];?>
</td>
<td>
<?php echo $Row['naampd'];?>
</td>
<td>&euro;
<?php echo $Row['prijs'];?>
</td>
<td>
<?php echo $Row['aantal'];?>
</td>
<td>&euro;
<?php echo $totaal = $Row['aantal']*$Row['prijs']; ?>
</td>
</tr>
<?php

}
?>
</table>
<?php
}else{
echo"Query mislukt:<br \>".mysql_error();
}
?>

<?php
// Tot zover de producten, nu de behandelingen!!!
?>

<hr width="350" align="left"><p>

<h2>Behandelingen</h2>


<form method="POST">

<table><tr><td width="150">
Aantal behandelingen:</td><td> <input type="text" name="aantalbehandelingen" size="3"></tr><tr><td>
Extra minuten:</td><td> <input type="text" name="aantalminuten" size="3"> <BUTTON TYPE="submit">ok</BUTTON>
</td></tr></table><p>

<table><tr><td width="150">behandelingen</td><td width="100">Extra minuten</td>
</tr><tr>
<td>&euro;
<?php
// Elke behandeling ( 15 minuten ) kost 15 euro
$totaal1= $_POST['aantalbehandelingen']*15;
echo $totaal1;
?>.00
</td><td>&euro;
<?php
// Elke minuut extra kost 2 euro
$totaal2= $_POST['aantalminuten']*2;
echo $totaal2;
?>.00
</td></tr>
<tr><td><hr>Totaal:</td><td>
<hr width="100">&euro;
<?php
// Totaal te betalen
echo $totaal3=$totaal1+$totaal2;
?>.00
</td></table>
</td></tr></table>
<?
SESSION_REGISTER("productid");
$_SESSION['productid'] = $_POST['productid'];
?>

Maak daar eens van:

<?
if(isset($_POST['productid']))
$_SESSION['productid'] = $_POST['productid'];
else
echo "Productid is niet gepost!";
?>
uhm? wat is het nut om dat op overzicht.php te zetten?
de submit knop brengt mij toch naar factuur.php.

maar ik heb het gedaan en als ik dan op factuur.php kom krijg ik gewoon weer de melding: productid bestaat niet

dat is van dat controleer script op factuur.php
Als je formulier naar factuur.php leid, moet je die code ook daar neer zetten.

Als je het in overzicht.php doet, komt de post daar niet.

Dan kan je je sessie wel zetten met $_POST, maar daar staat dan niks in.

Reageren