array waarde blijven houden
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="">
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>
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?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)){
?>
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>
<tr>
<td>
</td>
<td>
</td>
<td>€
</td>
<td>
</td>
<td>€
</td>
</tr>
</table>
<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>€
Code (php)
1
2
3
4
5
2
3
4
5
<?php
// Elke behandeling ( 15 minuten ) kost 15 euro
$totaal1= $_POST['aantalbehandelingen']*15;
echo $totaal1;
?>
// Elke behandeling ( 15 minuten ) kost 15 euro
$totaal1= $_POST['aantalbehandelingen']*15;
echo $totaal1;
?>
</td><td>€
Code (php)
1
2
3
4
5
2
3
4
5
<?php
// Elke minuut extra kost 2 euro
$totaal2= $_POST['aantalminuten']*2;
echo $totaal2;
?>
// Elke minuut extra kost 2 euro
$totaal2= $_POST['aantalminuten']*2;
echo $totaal2;
?>
</td></tr>
<tr><td><hr>Totaal:</td><td>
<hr width="100">€
.00
</td></table>
</td></tr></table>
Gewijzigd op 21/12/2004 21:39:00 door Andre
Sessies?
sessies heb ik nog nooit mee gewerkt eigenlijk...
zou ik de waardes die ik uit $array haal in een sessie moeten doen ofzo?
Ja
thnx in ieder geval.
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']);
heb ik wel gelijk een vraag
als ik een selectbox heb:
<input type="checkbox" name="productid" value="">
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
Gewijzigd op 21/12/2004 22:58:00 door andre
$_SESSION['productid'] = $_POST['productid'];
En omdat die met $_GET niet werkt is wel logisch..
Die ' aan het begin moet weg.
Code (php)
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
session_start();
staan?
Maak daar eens van:
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 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.
Gewijzigd op 22/12/2004 12:40:00 door Micha