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>
Sessies?
kwee nie?
sessies heb ik nog nooit mee gewerkt eigenlijk...

zou ik de waardes die ik uit $array haal in een sessie moeten doen ofzo?
Ja
nou na veel gepruts zal ik maar eens kieken of ik een simpele tut kan vinden over het gebruik van sessies want word hier nie goed van :D
thnx in ieder geval.
Sessies in het kort:
Sessie = serverside cookie, bestaat totdat browser afgesloten wordt.

Bovenaan elke pagina waar de sessies gebruik worden, voor elke output, zet je session_start().

Om de sessie te verwijderen schrijf je:
session_unset();
session_destroy();


Om een sessie te gebruiken:
$_SESSION['naam'] = 'waarde(n)';
$_SESSION['nogeennaam'] = 'nogeenwaarde';

Succes :)
je kan ook dit doen: unset($_SESSION['var']);
ik denk dat ik het hele array gebeuren ff laat voor wat het is en probeer het met sessies dan.

heb ik wel gelijk een vraag
als ik een selectbox heb:

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

hoe krijg ik dan die prdid in een sessie..

$_SESSION['productid'] = '$productid';?
of
$_SESSION['productid'] = '$_GET['productid'];?


EDIT:
$_SESSION['productid'] = '$productid';? geeft geen errors, die andere wel.. zal ff kijken of ik op de volgende pagina die sessie kan gebruiken


Als je het via een formulier gebruikt moet je dit gebruiken:

$_SESSION['productid'] = $_POST['productid'];

En omdat die met $_GET niet werkt is wel logisch..

Die ' aan het begin moet weg.
ja idd.. ok, nu heb ik op de volgende pagina een script dat controleerd of de sessie inhoud heeft.:

<?php

if(isset($_SESSION['productid'])) {
echo "productid bestaat.<br>";
} else {
echo "productid bestaat niet!<br>";
}
?>

jammer genoeg zegt hij dat productid niet bestaat :(

als ik op overzicht.php het volgende heb:
bovenaan de session start
deze regel: $_SESSION['productid'] = $_POST['productid'];

en de selectbox met name productid dan ben ik klaar wat betreft overzicht.php (?)

druk op submit, kom op factuur.php alwaar ik bovenaan weer een session start heb staat en verder dat scriptje om te controleren of de sessie inhoud heeft. of ben ik iets vergeten?

alvast bedankt
heb je wel boven de pagina:

session_start();

staan?

Reageren