[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сохранение значений в случае ошибки ввода данных
Страницы: 1, 2
Evlampidii
Уважаемые мастера, помогите решить следующую задачу:
1. Мне необходимо что бы в случае не заполнения формы name="ch1", name="ch2", name="ch3", возникала ошибка, но введенные значения не исчезали. Знаю что это решается с помощью сессии, но никак не могу понять как это реализовать в данном примере.
2. if(!preg_match("|^[\d]*$|", $_POST['ch1'])) принимает только целые числа, а на разделенные запятой или точкой (2,2 или 3.5) ругается, но ведь площадь указывается не в целых числах.

Я понимаю что сегодня пятница, и Вам не до этого, но тем не менее очень прошу Вас помочь! :)

<html>
<
head>
<
meta charset="utf-8">
</
head>
<
body>
<
h2 class=s2>Расчет площади</h2>
<
form enctype='multipart/form-data' method="post">
<
div align=left>
<
p>Введите длину:</p> <input type="text" name="ch1"><br>
<
p>Введите ширину:</p> <input type="text" name="ch2"><br>
<
p>Введите высоту:</p> <input type="text" name="ch3">
<
br>
<
br>
<
br>
<
button>Расчитать</button>
</
div>
</
form>
<?php
$a = $_POST ['ch1'];
$b = $_POST ['ch2'];
$c = $_POST ['ch3'];
if(!preg_match("|^[\d]*$|", $_POST['ch1']))
{
exit("Не верен формат числа.");
}
if(!preg_match("|^[\d]*$|", $_POST['ch2']))
{
exit("Не верен формат числа.");
}
if(!preg_match("|^[\d]*$|", $_POST['ch3']))
{
exit("Не верен формат числа.");
}
if ($a+$b+$c==0)
{
echo '';
exit();
}
if ($a==0 or $b==0 or $c==0)
{
echo 'Укажите размеры помещения';
exit();
}
$rezult=$a*$b*$c;
echo 'Площать равна '.$rezult.' куб. м.';
?>
</body>
</
html>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.