Вы можете сделать что-то вроде:
if( isset( $_POST['confirmSubmit'] ) ) {
echo 'Validation Error';
// or store it in a variable and post later
$validation_error = 'Validation Error';
}
$sales_valid = true;
$sales_priceError = '';
if ($sales_price === FALSE) {
$sales_priceError = 'Sales price must be a valid amount';
$sales_valid = false;
} else if ($sales_price < 1.0) {
$sales_priceError = 'Sales price must be greater than 0';
$sales_valid = false;
}
$discount_valid = true;
$discount_percentError = '';
// validate discount_percent
if ($discount_percent === FALSE) {
$discount_percentError = 'Discount percent must be a valid amount';
$discount_valid = false;
} else if ($discount_percent < 1.0) {
$discount_percentError = 'Discount percent must be greater than 0';
$discount_valid = false;
}
А затем для вашей формы обновите его до:
<form id="confirmForm" name="confirmForm" method="post" action="<?php echo ( ( $sales_valid && $discount_valid ) ? 'confirm.php' : '' ); ?>">
Это будет эхом, если confirm.php
в действии, если оба $sales_valid
и $discount_valid
имеют значение true, в противном случае возвращается пустое значение, что обновит страницу.
РЕДАКТИРОВАТЬ -------------------- Я бы запустилмой код похож на это, хотя все еще может быть оптимизирован для лучшей работы:
<?php
// set default values
$sales_price = '';
$sales_valid = true;
$sales_priceError = '';
$discount_percent = '';
$discount_valid = true;
$discount_percentError = '';
$discount_amount = 0;
$total_price = 0;
$validation_error = '';
// check for validation error submit
if( isset( $_POST['confirmSubmit'] ) ) {
$validation_error = 'Validation Error';
$discount_valid = false;
$sales_valid = false;
}
// check for submit
if( isset( $_POST['submitButton'] ) ) {
$sales_price = filter_input(INPUT_POST,'sales_price', FILTER_VALIDATE_FLOAT);
$discount_percent = filter_input(INPUT_POST,'discount_percent',FILTER_VALIDATE_FLOAT);
$total_price = filter_input(INPUT_POST,'total_price', FILTER_VALIDATE_FLOAT);
if ($sales_price === FALSE || $sales_price == '') {
$sales_priceError = 'Sales price must be a valid amount';
$sales_valid = false;
} else if ($sales_price < 1.0) {
$sales_priceError = 'Sales price must be greater than 0';
$sales_valid = false;
}
// validate discount_percent
if ($discount_percent === FALSE || $discount_percent == '') {
$discount_percentError = 'Discount percent must be a valid amount';
$discount_valid = false;
} else if ($discount_percent < 1.0) {
$discount_percentError = 'Discount percent must be greater than 0';
$discount_valid = false;
}
// calculate the discount and the discounted price
$discount_amount = $sales_price * $discount_percent / 100;
$total_price = $sales_price - $discount_amount;
}
?>
<!doctype html>
<html lang="en">
<head>
<title>Quote</title>
<link rel="stylesheet" type="text/css" href="quote.css">
</head>
<body>
<section>
<h1>Price Quotation</h1>
<form id="priceForm" name="priceForm" method="post" action=''>
<label for="sales_price">Sales Price </label>
<input type="text" id="sales_price" name="sales_price" value="<?php echo $sales_price; ?>" required />
<?php
if ( ! empty($sales_priceError) ) { ?>
<span style="color:red;background-color: white">
<?php echo $sales_priceError; ?>
</span>
<?php } ?>
<br/>
<br/>
<label for="discount_percent">Discount Percent </label>
<input type="text" id="discount_percent" name="discount_percent" value="<?php echo $discount_percent; ?>" required"/>
<?php if (!empty($discount_percentError)) : ?>
<span style="color:red;background-color: white">
<?php echo $discount_percentError; ?>
</span>
<?php endif; ?>
<p class="discount">Discount Amount <?php echo ' $' . number_format($discount_amount, 2); ?></p>
<p class="total">Total Price <?php echo ' $' . number_format($total_price, 2); ?></p>
<input type="submit" class=inline name="submitButton" id="submitButton" value="Calculate"/>
</form>
<form id="confirmForm" name="confirmForm" method="post" action="<?php echo ( ( isset( $_POST['confirmSubmit']) && $sales_valid && $discount_valid ) ? 'confirm.php' : '' ); ?>">
<input type="hidden" id="sales_price" name="sales_price" value="<?php echo $sales_price ?>" />
<input type="hidden" id="discount_amount" name="discount_amount" value="<?php echo $discount_amount ?>"/>
<input type="hidden" id="total_price" name="total_price" value="<?php echo $total_price ?>"/>
<input type="submit" class= inline name="confirmSubmit" id="confirmSubmit" value="Confirm"/>
</form>
<div>
<p> Enter price and discount amount and click Calculate</p>
</div>
</section>
</body>
</html>