Hi i was wondering if it is possible to validate "checkbox" and "number". It is really hard to explain what I want but I'll try my best ;). Anyways I have this code:
<input type = "checkbox" name = "coffee[]" value = "cappuccino"/>Cappuccino
<input type = "number" value = "qty." name = "cappuccino_qty" size = "2"/><br>
<input type = "checkbox" name = "coffee[]" value = "espresso"/>Espresso
<input type = "number" value = "qty." name = "espresso_qty" size = "2"/><br>
...so on
I want the program to validate both the "checkbox" and "number"so that a user would not be able to cheat. Such as that if the "cappuccino" is selected its assigned quantity ("cappuccino_qty") should be the only input type able to submit. Say cappuccino cost $2.00 and espresso cost $3.00 With my code a user is able to check espresso and change quantity of cappuccino to one or more. So with my output espresso cost $2.00 instead of $3.00. I want to prevent that from happening.
This is my whole code:
<html>
<head>
<title>Order</Title>
<style>
</style>
<body>
<form action = "order.php" method = "post">
Coffee:<p>
<input type = "checkbox" name = "coffee[]" value = "cappuccino"/>Cappuccino
<input type = "number" value = "qty." name = "cappuccino_qty" size = "2"/><br>
<input type = "checkbox" name = "coffee[]" value = "espresso"/>Espresso
<input type = "number" value = "qty." name = "espresso_qty" size = "2"/><br>
<input type = "checkbox" name = "coffee[]" value = "double_espresso"/>Double Espresso
<input type = "number" value = "qty." name = "double_espresso_qty" size = "2"/><br>
<input type = "checkbox" name = "coffee[]" value = "flat_white"/>Flat White
<input type = "number" value = "qty." name = "flat_white_qty" size = "2"/><br>
<input type = "checkbox" name = "coffee[]" value = "latte"/>Latte
<input type = "number" value = "qty." name = "latte_qty" size = "2"/><br>
<input type = "checkbox" name = "coffee[]" value = "ice"/>Ice Coffee
<input type = "number" value = "qty." name = "ice_qty" size = "2"/><br>
<p>
<input type = "radio" value = "in" name = "dine"/>Dine in
<input type = "radio" value = "out" name = "dine"/>Take out
<br>
<input type = "submit" value = "submit" name = "submit"/>
</form>
</body>
</head>
</Html>
<?php
//coffee cost//
$cappuccino_cost = 3.75;
$espresso_cost = 3.00;
$double_espresso_cost = 4.25;
$flat_white_cost = 3.75;
$latte_cost = 3.5;
$ice_cost = 2.5;
//default qty of each coffee//
$cappuccino_qty = 0;
$espresso_qty = 0;
$double_espresso_qty = 0;
$flatwhite_qty = 0;
$latte_qty = 0;
$ice_qty = 0;
//discounts & charges//
$charge = 1.05;
$discount = 0.1;
//submitting inputs//
if(isset($_POST["submit"]))
{
//number of checkboxe(s) that are checked
if(isset($_POST['coffee']))
{
$checked_array = $_POST['coffee'];
$count = count($checked_array);
if($count != 0)
{
//coffee cost is being readied//
if(!isset($_POST['coffee']) && $_POST['coffee'] == 'cappuccino')
{
$cappuccino_cost = 0;
}
if(!isset($_POST['coffee']) && $_POST['coffee'] == 'espresso')
{
$espresso_cost = 0;
}
if(!isset($_POST['coffee']) && $_POST['coffee'] == 'double_espresso')
{
$double_espresso_cost = 0;
}
if(!isset($_POST['coffee']) && $_POST['coffee'] == 'flat_white')
{
$flat_white_cost = 0;
}
if(!isset($_POST['coffee']) && $_POST['coffee'] == 'latte')
{
$latte_cost = 0;
}
if(!isset($_POST['coffee']) && $_POST['coffee'] == 'ice')
{
$ice_cost = 0;
}
//the quantity calculated//
if(isset($_POST['cappuccino_qty']) && $_POST['cappuccino_qty'] != 'qty.')
{
$cappuccino_qty = $_POST['cappuccino_qty'];
}
if(isset($_POST['espresso_qty']) && $_POST['espresso_qty'] != 'qty.')
{
$espresso_qty = $_POST['espresso_qty'];
}
if(isset($_POST['double_espresso_qty']) && $_POST['double_espresso_qty'] != 'qty.')
{
$double_espresso_qty = $_POST['double_espresso_qty'];
}
if(isset($_POST['flat_white_qty']) && $_POST['flat_white_qty'] != 'qty.')
{
$flat_white_qty = $_POST['flat_white_qty'];
}
if(isset($_POST['latte_qty']) && $_POST['latte_qty'] != 'qty.')
{
$latte_qty = $_POST['latte_qty'];
}
if(isset($_POST['ice_qty']) && $_POST['ice_qty'] != 'qty.')
{
$ice_qty = $_POST['ice_qty'];
}
//cost calculated//
$cappuccino = $cappuccino_cost * $cappuccino_qty;
$espresso = $espresso_cost * $espresso_qty;
$double = $double_espresso_cost * $double_espresso_qty;
$flat = $flat_white_cost * $flat_white_qty;
$latte = $latte_cost * $latte_qty;
$ice = $ice_cost * $ice_qty;
//total amount of cost and no. cofee//
$total = $cappuccino + $espresso + $double + $flat + $latte + $ice;
$total_coffee = $cappuccino_qty + $espresso_qty + $double_espresso_qty + $flat_white_qty + $latte_qty + $ice_qty;
//take away charge calculated//
if(isset($_POST['dine']) && $_POST['dine'] == 'out')
{
$total = $charge * $total;
$total = round($total,2);
}
//discount calculated//
if($count >= 3 or $total_coffee >= 3)
{
$total = $total - ($total * $discount);
$total = round($total,2);
}
//output total
if($total != 0)
{
echo "$".(round($total,2));
}
}
}
}
?>