Beste allemaal,
Wie zou mij kunnen helpen met mijn programma? Ik heb een zoekmachine gebouwd en heb ik hiervoor een associative array gebruikt en dat werkt prima (producten.php). De zoektermen heb ik vastgelegd in $producten["tags"], zie het programma hieronder wat ik heb geschreven.

Echter, wanneer ik "Aantal" invul en op de knop "Koop nu" klik krijg ik deze foutmelding in het bestand "factuur.php": Notice: Undefined variable: product.

Kortom: het lukt mij niet om de varaiabelen c.q. de elementen te posten van producten.php naar factuur.php. Hieronder de codes van beide bestanden.

Groeten,
Steve

producten.php:

<?php
$producten = [
	[
		"naam" 		=> "Zak appels",
		"prijs" 	=> 2,
		"tags" 		=> ["appel", "fruit", "eten", "voedsel"],
		"voorraad" 	=> 50,
		
	],
	[
		"naam" 		=> "Rijst",
		"prijs" 	=> 1,
		"tags" 		=> ["diner", "eten", "voedsel"],
		"voorraad" 	=> 3
	],
	[
		"naam" 		=> "Gouden ring",
		"prijs" 	=> 500,
		"tags" 		=> ["juweel", "duur"],
		"voorraad" 	=> 0
	],
	[
		"naam" 		=> "Broccoli",
		"prijs" 	=> 1,
		"tags" 		=> ["diner", "eten", "voedsel"],
		"voorraad" 	=> 12
	]
];
if (isset($_POST["zoekopdracht"])) { 
	$filter = $_POST["zoekopdracht"]; 

	$kandidaat_producten = $producten;
	$producten = [];

	foreach($kandidaat_producten as $product) {
		foreach($product["tags"] as $tag){
			if ($tag == $filter) {
				array_push($producten, $product); // voeg dat ene product $product aan de lijst $producten
				}
			}
		}
}

?>

<!DOCTYPE HTML>
<html lang="nl">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>

<meta charset="utf-8">

<title>Producten</title>

<style type="text/css">	
			section {
				border: 1px solid black;
				width: 400px;
				height: 180px;
				background-color: lightblue;
				margin:25px;
            }
</style> 
</head>	

<body style="background-color:lightgreen">
	<section>
		<div>
			<h1>Steve's webshop</h1> 
			<form action="producten.php" method="POST">
				<input type="text" name="zoekopdracht">
				<input type="submit" value="search">				
			</form>
		</div>
		<div>
			<p> Koop hier je producten</p>
		</div>
	</section>


	<?php
		foreach($producten as $product) {
			?>
				<section>
					<div>
						<h2>
							<?php
								echo $product["naam"];									
							?>
						</h2>
						<small>Voorraad:
							<?php
								$voorraad = $product["voorraad"];
								
								if($voorraad == 0) {
									echo "leeg";
								} elseif ($voorraad <= 10) {
									echo "bijna op!";
								} else {
									echo "genoeg";
								}
							?>
						</small>
					</div>
					<div>
						<h2>
							<?php
								echo $product["prijs"] . " euro";
							?>
						</h2>
												
						<form action="factuur.php " method="post">
							Aantal <input type="text" name="aantal" size="5">
										<?php											
											if ($product["voorraad"] > 0) {
												echo "<button>Koop nu</button>";
											} else {
												echo "<button disabled>Niet beschikbaar</button>";
											}									
										?>										
						</form> 						
					</div>							
				</section>		
	<?php					
		}				
	?>	
</body>	
</html> 




factuur.php:
<!DOCTYPE html>
<html>
<head>
    <title>Factuur</title>
</head>
<body style="background-color:pink">
<h1>FACTUUR</h1>

<?php
$aantal = $_POST["aantal"];

if (($product["naam"] == "Zak appels")) {		
			echo "Zak appels!";
			$tebetalen = $aantal * 2;
			echo "Te betalen " . $tebetalen;	
		}
		if (($product["naam"] == "Rijst")) {
			echo "Rijst!";
			$tebetalen = $aantal * 1;
			echo "Te betalen " . $tebetalen;	
		}
		if (($product["naam"] == "Broccoli")) {		
			echo "Broccoli!";
			$tebetalen = $aantal * 1;
			echo "Te betalen " . $tebetalen;	
		}
	
?>
    
</body>
</html>


Beste Ozzie,

Dank je wel voor de correctie. Ik heb het aangepast. Ik krijg nu wel output te zien, maar allen zie ik dat ik niet de juiste output krijg. Kies ik bijvoorbeeld voor een "Zak appels" en "aantal" 10, dan krijg ik als output "Gouden ring" en 10.

SanThe had mij wel laten het volgende laten weten: "Je vult $_SESSION['Producten'] na de foreach() dus daar zal altijd de laatste ("Gouden ring") in zitten." Ik heb toen a.d.h.v. zijn aanvulling dat voor elkaar proberen te krijgen in het bestand verkoop.php dat ik al eerder had gestuurd (zie boven), maar kreeg telkens weer problemen.

Kortom: dat van die $_SESSION["Producten"] = $product["naam"] in het bestand verkoop.php kan ik nog steeds niet oplossen. Ik zie nog steeds niet wat ik fout doe. Help!
Bekijk hierboven mijn code eens.
Dat werkt zonder sessie.
Je kan voordat je de button klikt meerdere artikelen een aantal geven.
Hoi Santhe,

Ik heb die codes c.q. bestanden aangepast, zoals je had voorgesteld. Ook heb ik i.p.v. if-statements if-then-else statements gebruikt, maar dat is puur voor de leesbaarheid om bijvoorbeeld een foutmelding op te vangen. Ook voor de leesbaarheid heb ik de bestanden anders genoemd, maar voor de rest zijn de codes min of meer hetzelfde.

Via het bestand "verkoop-zonder-factuur.php" heb ik een include gemaakt naar het bestand "verkoop.php", omdat in dit bestand het associative array is gemaakt en heb ik ook de for-each-loop uit dit bestand verwijderd, omdat deze loop toch wordt afgehandeld in het bestand "verkoop-zonder-factuur.php" en heb ik vervolgens via dit bestand een link gemaakt naar "verkoop-met-factuur.php".

Tot slot wanneer ik het programma uitvoer( met verkoop-zonder-factuur.php) gebeurt er niets en wordt dat opgevangen met het laatste statement (else).

Voor de duidelijkheid hier de drie bestanden.


[size=xsmall]Toevoeging op 18/10/2023 10:42:07:[/size]

verkoop.php

<?php
// Start the session
//session_start();
?>
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>

<meta charset="utf-8">

<title>Producten</title>

<style type="text/css">	
			section {
				border: 1px solid black;
				width: 400px;
				height: 180px;
				background-color: lightblue;
				margin:25px;
            }
</style> 
</head>	
<body>

<?php


$producten = [
	[
		"naam" 		=> "Zak appels",
		"prijs" 	=> 2,
		"tags" 		=> ["appel", "fruit", "eten", "voedsel"],
		"voorraad" 	=> 50,
		
	],
	[
		"naam" 		=> "Rijst",
		"prijs" 	=> 1,
		"tags" 		=> ["diner", "eten", "voedsel"],
		"voorraad" 	=> 3
	],
	[
		"naam" 		=> "Broccoli",
		"prijs" 	=> 1,
		"tags" 		=> ["diner", "eten", "voedsel"],
		"voorraad" 	=> 12
	],
	[
		"naam" 		=> "Gouden ring",
		"prijs" 	=> 500,
		"tags" 		=> ["juweel", "duur"],
		"voorraad" 	=> 0
	]
];

?>

</body>
</html>


[size=xsmall]Toevoeging op 18/10/2023 10:43:19:[/size]

verkoop-zonder-factuur.php

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Producten</title>
<style type="text/css">    
            section {
                border: 1px solid black;
                width: 400px;
                height: 180px;
                background-color: lightblue;
                margin:25px;
            }
</style>
</head>    
<body>

<form action="verkoop-met-factuur.php" method="post">
<?php
//include("data.php");
include("verkoop.php");

foreach($producten as $key => $product)
{    ?>
    <section>
        <div>
            <h2><?php echo $product["naam"]; ?></h2>
            <small>Voorraad:
                <?php
                    $voorraad = $product["voorraad"];
                    if($voorraad == 0) {
                        echo "leeg";
                    } elseif ($voorraad <= 10) {
                        echo "bijna op!";
                    } else {
                        echo "genoeg";
                    }
                ?>
            </small>
        </div>
        <div>

            <h2><?php echo $product["prijs"] . " euro"; ?></h2>
            Aantal <input type="number" style="width:50px" name="aantal[<?php echo $key; ?>]" min="0" max="<?php echo $voorraad; ?>" value="0">
                   <input type="hidden" name="naam[<?php echo $key; ?>]" value="<?php echo $product["naam"]; ?>">
            <?php                                            
                if ($product["voorraad"] > 0) {
                    echo '<button type="submit">Koop nu</button>';
                } else {
                    echo '<button disabled>Niet beschikbaar</button>';
                }                                    
            ?>                                        
        </div>

    </section>        
<?php }                
?>
</form>                        
</body>
</html>


[size=xsmall]Toevoeging op 18/10/2023 10:45:12:[/size]

Sorry, was vergeten de code-tag te gebruiken.


[size=xsmall]Toevoeging op 18/10/2023 10:52:27:[/size]


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Producten</title>
<style type="text/css">    
            section {
                border: 1px solid black;
                width: 400px;
                height: 180px;
                background-color: lightblue;
                margin:25px;
            }
</style>
</head>    
<body>

<form action="verkoop-met-factuur.php" method="post">
<?php
//include("data.php");
include("verkoop.php");

foreach($producten as $key => $product)
{    ?>
    <section>
        <div>
            <h2><?php echo $product["naam"]; ?></h2>
            <small>Voorraad:
                <?php
                    $voorraad = $product["voorraad"];
                    if($voorraad == 0) {
                        echo "leeg";
                    } elseif ($voorraad <= 10) {
                        echo "bijna op!";
                    } else {
                        echo "genoeg";
                    }
                ?>
            </small>
        </div>
        <div>

            <h2><?php echo $product["prijs"] . " euro"; ?></h2>
            Aantal <input type="number" style="width:50px" name="aantal[<?php echo $key; ?>]" min="0" max="<?php echo $voorraad; ?>" value="0">
                   <input type="hidden" name="naam[<?php echo $key; ?>]" value="<?php echo $product["naam"]; ?>">
            <?php                                            
                if ($product["voorraad"] > 0) {
                    echo '<button type="submit">Koop nu</button>';
                } else {
                    echo '<button disabled>Niet beschikbaar</button>';
                }                                    
            ?>                                        
        </div>

    </section>        
<?php }                
?>
</form>                        
</body>
</html>



[size=xsmall]Toevoeging op 18/10/2023 10:56:59:[/size]


<?php
//session_start();
?>

<!DOCTYPE html>
<html>
<head>
    <title>Factuur</title>
</head>
<body style="background-color:pink">
<h1>FACTUUR</h1>

<?php
$aantal = $_POST["aantal"];
$naam = $_POST["naam"];
//$product["naam"] = $_POST['$product["naam"]'];

if ($naam == 'Zak appels' && !empty($aantal)) {
			echo "Zak appels!";
			$tebetalen = $aantal * 2;
			echo " Te betalen " . $tebetalen;	
		}
	
elseif ($naam == 'Rijst' && !empty($aantal)) {		
			echo "Rijst!";
			$tebetalen = $aantal * 1;
			echo " Te betalen " . $tebetalen;	
		}

elseif ($naam == 'Broccoli' && !empty($aantal)) {		
			echo "Broccoli!";
			$tebetalen = $aantal * 1;
			echo " Te betalen " . $tebetalen;	
		}

elseif ($naam == 'Gouden ring' && !empty($aantal)) {	
			echo "Gouden ring!";
			$tebetalen = $aantal * 1;
			echo " Te betalen " . $tebetalen;	
		}
else {
	echo "Er is iets fout gegaan.";
}


?>
 
</body>
</html>



[size=xsmall]Toevoeging op 18/10/2023 10:58:18:[/size]

Bovenstaande is verkoop-met-factuur.php en daarvoor verkoop-zonder-factuur.php

[size=xsmall]Toevoeging op 18/10/2023 11:01:55:[/size]

 
<?php
// Start the session
//session_start();
?>
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>

<meta charset="utf-8">

<title>Producten</title>

<style type="text/css">	
			section {
				border: 1px solid black;
				width: 400px;
				height: 180px;
				background-color: lightblue;
				margin:25px;
            }
</style> 
</head>	
<body>

<?php


$producten = [
	[
		"naam" 		=> "Zak appels",
		"prijs" 	=> 2,
		"tags" 		=> ["appel", "fruit", "eten", "voedsel"],
		"voorraad" 	=> 50,
		
	],
	[
		"naam" 		=> "Rijst",
		"prijs" 	=> 1,
		"tags" 		=> ["diner", "eten", "voedsel"],
		"voorraad" 	=> 3
	],
	[
		"naam" 		=> "Broccoli",
		"prijs" 	=> 1,
		"tags" 		=> ["diner", "eten", "voedsel"],
		"voorraad" 	=> 12
	],
	[
		"naam" 		=> "Gouden ring",
		"prijs" 	=> 500,
		"tags" 		=> ["juweel", "duur"],
		"voorraad" 	=> 0
	]
];

?>

</body>
</html>


[size=xsmall]Toevoeging op 18/10/2023 11:03:14:[/size]

En hierboven verkoop.php.
Excuus voor mijn slordigheid. Ik zit een beetje in de stress!
Hi Steve,

Ik ga je op weg helpen.. pas verkoop-met-factuur.php aan met deze code:

<?php
//session_start();
?>

<!DOCTYPE html>
<html>
<head>
    <title>Factuur</title>
</head>
<body style="background-color:pink">
<h1>FACTUUR</h1>

<?php


$aantal = $_POST["aantal"];
$naam = $_POST["naam"];
//$product["naam"] = $_POST['$product["naam"]'];


echo '
Laten we eens debuggen door te kijken wat er in $_POST zit:<br/>
<pre>'.print_r($_POST,true).'</pre>
Variabele: $naam: '.$naam.' --> output: Array<br/>
Variabele: $naam: '.$naam[1].' --> output: rijst<br/>
Variabele: $aantal: '.$aantal.' --> output: Array<br/>
Variabele: $aantal: '.$aantal[0].' --> output: 0<br/><br/>';

$array_met_aantallen = array_filter($aantal);

echo '
De volgende array ($array_met_aantallen) bevat alleen artikelen met \'aantallen\' hoger dan 0:<pre>'.print_r($array_met_aantallen,true).'</pre>
Je weet dus dat ze het volgende willen hebben:<br/>';

foreach($array_met_aantallen as $key => $value){
	echo ''.$value.' stuks, van product: '.$naam[$key].'. en ze moeten betalen: &euro; '.($aantal[$key]*2).'<br/>';
}

echo '
Als je een beetje goed kijkt naar dit voorbeeld, dan heb je in de gaten dat onderstaande if/else structuur fout is.<br/>';


if ($naam == 'Zak appels' && !empty($aantal)) {
            echo "Zak appels!";
            $tebetalen = $aantal * 2;
            echo " Te betalen " . $tebetalen;    
        }
    
elseif ($naam == 'Rijst' && !empty($aantal)) {        
            echo "Rijst!";
            $tebetalen = $aantal * 1;
            echo " Te betalen " . $tebetalen;    
        }

elseif ($naam == 'Broccoli' && !empty($aantal)) {        
            echo "Broccoli!";
            $tebetalen = $aantal * 1;
            echo " Te betalen " . $tebetalen;    
        }

elseif ($naam == 'Gouden ring' && !empty($aantal)) {    
            echo "Gouden ring!";
            $tebetalen = $aantal * 1;
            echo " Te betalen " . $tebetalen;    
        }
else {
    echo "Er is iets fout gegaan.";
}


?>
 
</body>
</html> 
Beste E vH,

Dank je wel voor je hulp, analyse, toelichting en de moeite die je hebt genomen om mij te helpen.

Ik heb het bestand "verkoop-met-factuur.php" aangepast, zoals je dat had voorgesteld met jouw toelichting. Ik heb regel 35, t.w. foreach($array_met_aantallen as $key => $value), vervangen door foreach($aantal as $key => $value) en het werkte. Het is dus nu dit geworden:

foreach($aantal as $key => $value){			
    echo ''.$value.' stuks, van product: '.$naam[$key].'. en ze moeten betalen: &euro; '.($aantal[$key]*2).'<br/>';		
}


Je hebt mij erg blij gemaakt en nogmaals dank je wel voor je support.

Maar ik ben er nog niet en is het nu een uitdaging voor mij om het totale bedrag te berekenen c.q. te programmeren van de verschillende producten die worden gekocht.

Tot slot nog een vraagje. Waarom *2 bij ($aantal[$key]*2)? Is het omdat een "Zak appels" als eerste in de index is, dus index 0 en de prijs in dit geval 2 euro is?

ps: SanThe ook jou wil ik bedanken voor je support. En ook Ozzie PHP.

Mijn advies naar jou toe, zou in dit geval zijn om niet $aantal te gebruiken, maar $array_met_aantallen.

De reden is als volgt:
Stel je hebt 4 producten en van die 4 , is er maar 1 artikel waarbij je een paar stuks besteld en de rest niet.
Dan krijg je dus dit:

0 stuks, van product: Zak appels. en ze moeten betalen: € 0
2 stuks, van product: Rijst. en ze moeten betalen: € 4
0 stuks, van product: Broccoli. en ze moeten betalen: € 0
0 stuks, van product: Gouden ring. en ze moeten betalen: € 0

Dat wil je eigenlijk niet.. het is namelijk niet interessant om te weten wat ze NIET bestellen.
Om die reden kijk dan alleen naar de waarde die hoger is dan 0.


"Waarom *2 bij ($aantal[$key]*2)?"
Ik deed even een simpele rekensom, gezien je if/else structuur met de appels 2 was.. bij $tebetalen.
Uitgaande dat die 2, dus 2 euro is.. is de rekensom: ($aantal[$key]*2)

Wat je nu eigenlijk wilt, is de prijzen uit verkoop.php meezenden in je $_POST.
Dat doe je door in verkoop-zonder-factuur.php een hidden field mee te geven met de prijs.
Bv zoiets:

<input type="hidden" name="prijs[<?php echo $key; ?>]" value="<?php echo $product["prijs"]; ?>">

Dan kun je in verkoop-met-factuur.php die $_POST opvangen door een regel te maken iets in de vorm van:


$prijs= $_POST["prijs"]; 


Met een beetje stoeien, zou je een eind op wegkomen.. en anders hierbij een hint: ($aantal[$key]*$prijs[$key])


en om maar gelijk nog een hint te geven:

$totaalbedrag = 0;
foreach($aantal as $key => $value){
	echo ''.$value.' stuks, van product: '.$naam[$key].'. en ze moeten betalen: &euro; '.($aantal[$key]*$prijs[$key]).'<br/>';
$totaalbedrag += ($aantal[$key]*$prijs[$key]);
}
echo 'Het totaalbedrag is: € '.$totaalbedrag.'';



overigens: dit is niet de manier om het aan te sturen (een prijs in een hidden input veld meegeven ), deze kan gemanipuleerd worden door de gebruiker, maar het geeft een idee hoe het werkt en moet jou op weg helpen om verder te komen.

Succes met "stoeien", ik denk dat je al een eindje op weg kan met deze info.
ps: ik heb de code in deze post niet getest.. het is even uit de losse pols geschreven.
Whaaaaw ... E Vh,

Nogmaals bedankt voor je support. Om eerlijk te zijn motiveer je mij echt en zal ik zeker gebruikmaken van jouw hints. Ik leer ontzettend veel van je. Ik zal je zeker laten weten, wanneer ik mijn programma heb geschreven (gebouwd) met de input van alle kennis en hints van jou.
Beste E vH,

Met jouw hulp en adviezen is het mij eindelijk gelukt. Ik heb zelf wat aanpassingen gedaan om een mooie output te krijgen, zoals ook de productnaam te laten zien. Bijvoorbeeld: "10 stuks van product: Muis. En ze moeten betalen: € 50.
Het totaal te betalen bedrag is 50 euro".

Echter, zit ik nog met een probleem. Als ik meerdere producten kies dan wordt in de output bij het klikken op het button-knopje "Bereken" alleen dat product weergegeven dat ik aanklik en mis ik de overige producten die ik heb gekozen met een opgegeven aantal. Zou je a.u.b. kunnen kijken wat ik over het hoofd zie? Zie hieronder de twee bestanden, t.w. prijsberekenen.php (dit is het startprogramma) en prijs-factuur.php.

prijsberekenen.php

<html>
<head>
    <title>Formulier</title>
</head>
<body style="background-color:lightgreen;">

<?php

$artikelen = [
			[
				"firstname"		=> "John",
				"lastname"   	=> "Doelaar",
				"middlename" 	=> "Bray",
				"artikel"		=> "Muis",
				"prijs"			=> 5,
				"voorraad" 		=> 50,
			],
			[
				"firstname"  	=> "Steve",
				"lastname"  	=> "Bonoo",
				"middlename" 	=> "Suniel",
				"artikel"		=> "Toetsenbord",
				"prijs"			=> 3,
				"voorraad" 		=> 10
			],
			[
				"firstname"  	=> "Carla",
				"lastname"   	=> "Zonneveld",
				"middlename" 	=> "Judy",
				"artikel"		=> "USB-kabel",
				"prijs"			=> 2,
				"voorraad" 		=> 8
			],
			[
				"firstname"  	=> "Hugo",
				"lastname"   	=> "Kerkraad",
				"middlename" 	=> "Jos",
				"artikel"		=> "Beeldscherm",
				"prijs"			=> 25,
				"voorraad" 		=> 4
			] 
];

foreach ($artikelen as $key => $product) {
?>

<section>
	<div>
	<h2>
		<?php
		echo "Verkoper: " . $product["firstname"] . " " . $product["lastname"];
		?>
	</h2>				
	</div>
	<div>
		<?php
		echo "<b>Artikel: </b>" . $product["artikel"];
		?>		
	</div>
	<div>
		<?php
		echo "Prijs p/st " . $product["prijs"] . " euro";
		?>		
	</div>
	<div>
	<form action="prijs-factuur.php" method="post">
	Geef aantal op
	<input type="text" name="aantal[<?php echo $key;?>]" "[<?php echo $product['artikel']?>]" size="5" >
	<input type="hidden" name="prijs[<?php echo $key;?>]" value="<?php echo $product['prijs'];?>" >
			
	<input type="hidden" name="artikelnaam[<?php echo $key;?>]" value="<?php echo $product['artikel'];?>" >
	<!--<input type="hidden" name="artikelnaam[<?php echo $key;?>]" "[<?php echo $product['artikel'];?>]" > -->
	<input type="hidden" name="achternaam[<?php echo $key;?>]" value="<?php echo $product['lastname'];?>" >

	<button>Bereken</button>
	</form>
	</div>
</section>	
<?php
}	
?>

</body>
</html>




prijs-factuur.php

<!DOCTYPE html>
<html>
<head>
    <title>Factuur</title>
</head>
<body style="background-color:pink">
<h1>FACTUUR</h1>

<?php
$aantal = $_POST["aantal"];
$prijs = $_POST["prijs"];
$artikelnaam = $_POST["artikelnaam"];
$artikelnaam = $_POST["artikelnaam"];

$somTotaal = 0;

foreach($aantal as $key => $value){	
	echo ''.$value.' stuks van product: '. $artikelnaam[$key].'. En ze moeten betalen: &euro; '.($aantal[$key]*$prijs[$key]).'<br/>';		
	
$somTotaal = $somTotaal + ($aantal[$key]*$prijs[$key]);						
}
echo "Het totaal te betalen bedrag is " . $somTotaal . " euro";
		
?>
 
</body>
</html>



[size=xsmall]Toevoeging op 24/10/2023 22:12:12:[/size]

Btw, er zijn regels code die dubbel zijn. Excuus daarvoor. Bijvoorbeeld:


$artikelnaam = $_POST["artikelnaam"];
$artikelnaam = $_POST["artikelnaam"];
Steve Bonoo op 24/10/2023 22:02:29

Echter, zit ik nog met een probleem. Als ik meerdere producten kies dan wordt in de output bij het klikken op het button-knopje "Bereken" alleen dat product weergegeven dat ik aanklik en mis ik de overige producten die ik heb gekozen met een opgegeven aantal.


Je hebt mijn code blijkbaar niet bekeken.
Dit zit daar gewoon ingebouwd.
Om in te haken op wat -SanThe- zegt en waar jezelf nu tegen aan loopt, even een simpele uitleg:

Regel 44 in prijsberekenen.php
Daar start je de herhaling, alles daarbinnen ( t/m regel 80 ) wordt herhaalt.

Als je de html bron (uiteindelijk ) had bekeken, had je ook gezien dat je nu meerdere <forms> als output hebt.
Vergelijk nu de eerdere code en zie het verschil, je wilt er volgens mij maar 1 hebben ;-)

Verder ontgaat het mij even aan de logica, wat je nu precies wilt bereiken ( ik zie dat je "verkopers" hebt toegevoegd ).
Is het een kwestie van oefenen en de logica snappen of wil je uiteindelijk iets bouwen wat je daadwerkelijk wilt gebruiken? Daarnaast wees consequenter. Je gebruikt Nederlands en Engels door elkaar heen ( firstname, lastname, prijs, aantal ).

Reageren