[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Если форма не забита, ее надо вывести в обработчик
Страницы: 1, 2
Евгений Щукин
так как все-таки лучше: полным php прописывать или разрывая html вставками?
Для удобства чтения и поиска ошибок лучше первое, нет?
CodeKeeper
Форма:

<html>
<head>
<script
type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
</head>
<body>

<script>

$(document).ready(function(){
$('#form_order').bind('submit', function(event) {
var count = 0;
$('[type=text]').each(function() {
if($(this).val().length) {
count++;
}
}
);
if (count == 0){
event.preventDefault();
alert('Хотя бы одно поле для ввода должно содержать значение!');
}
}
);
});
</script>

<form
id="form_order" action="progressor.php" method="post">
<table
border="0">
<tr
bgcolor="#cccccc">
<td
width=150>Наименование</td>
<td
width="15">Количество</td>
</tr>
<tr>
<td>
Диски</td>
<td
align="center"><input type="text" name="disks" size="3" maxlength="3"></td>
</tr>
<tr>
<td>
Шины</td>
<td
align="center"><input type="text" name="bus" size="3" maxlength="3"></td>
</tr>
<tr>
<td>
Двери</td>
<td
align="center"><input type="text" name="doors" size="3" maxlength="3"></td>
</tr>
<tr>
<td
colspan="2" align="center"><input type="submit" value="Отправить заказ"></td>
</tr>
</table>
</form>



</body>
</html>


Обработчик:

<?php

define ("DISKS_PRICE", 100); /* константы (неизменяющееся значение) принято записывать прописными буквами */
define ("BUS_PRICE", 10);
define ("DOORS_PRICE", 4);


$errors = 0;
$sum = 0;

foreach($_POST as $key => $val){

if(empty($val)){
$errors++;
} else{

switch($key):
case 'disks':
$_POST[$key] = (float)$val * DISKS_PRICE;
break;
case 'bus':
$_POST[$key] = (float)$val * BUS_PRICE;
break;
case 'doors':
$_POST[$key] = (float)$val * DOORS_PRICE;
break;
endswitch;

$sum += $_POST[$key];

}

}


if($errors == count($_POST)) die('Данные не были введены'); // тут можно поставить редир на пред.стр.

$sum = number_format ($sum, 2);
echo "<br>\n";
Быстрый ответ:

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