rash012
Новичок
Задание по PHP 1
Реализовать скрипт, выполняющий следующие действия:
Пользователь вводит число в форму на странице и нажимает кнопку «Ввод». После этого на страницу выводится таблица. В первом столбце – числа от 1 до 10, во втором – результат сложения числа из первого столбца с введенным, в третьем – результат умножения, в четвертом – результат деления.
Предусмотреть защиту от ввода некорректных данных (например, строк) выводить соответствующее предупреждение и предложение повторить ввод. Предусмотреть вывод в ячейках таблицы соответствующего сообщения «На 0 делить нельзя», если введен ноль.
файл form.html
файл form.php
Прислали замечания по коду
Недостатки:
1) Нет валидации на стороне сервера - есть только на стороне клиента
2) Два файла именно таким образом - неоправданно. Можно (и нужно!) разделить html и php. Но точка входа в приложение (обработки входящего запроса) должна быть одна.
Как сделать сделать валидацию на php с предложением повторить ввод?
и что имеется ввиду во втором пункте недостатков?
Реализовать скрипт, выполняющий следующие действия:
Пользователь вводит число в форму на странице и нажимает кнопку «Ввод». После этого на страницу выводится таблица. В первом столбце – числа от 1 до 10, во втором – результат сложения числа из первого столбца с введенным, в третьем – результат умножения, в четвертом – результат деления.
Предусмотреть защиту от ввода некорректных данных (например, строк) выводить соответствующее предупреждение и предложение повторить ввод. Предусмотреть вывод в ячейках таблицы соответствующего сообщения «На 0 делить нельзя», если введен ноль.
файл form.html
Код:
<!DOCTYPE html>
<html>
<head>
<meta charset="windows-1251">
<title></title>
<script>
function validate(){
if(isNaN(document.getElementById('number').value)){
alert('Не число. Введите число.');
return false;
}
return true;
}
</script>
</head>
<body>
<form method="post" action="form.php" onsubmit="return validate()">
<label>Число
<input type="text" id="number" name="number">
</label>
<input type="submit" value="Ввод">
</form>
</body>
</html>
Код:
<!DOCTYPE html>
<html>
<head>
<meta charset="windows-1251">
<title></title>
</head>
<body>
<?php
$number=$_POST['number'];
function division($number1,$number2){
if($number2==0){
return 'На 0 делить нельзя';
}
return $number1/$number2;
}
echo '<table border="1">';
for($i=1;$i<=10;$i++){
echo '<tr><td>'.$i.'</td><td>'.($i+$number).'</td><td>'.$i*$number.'</td>';
echo '<td>'.division($i,$number).'</td></tr>';
}
echo '</table>';
?>
</body>
</html>
Недостатки:
1) Нет валидации на стороне сервера - есть только на стороне клиента
2) Два файла именно таким образом - неоправданно. Можно (и нужно!) разделить html и php. Но точка входа в приложение (обработки входящего запроса) должна быть одна.
Как сделать сделать валидацию на php с предложением повторить ввод?
и что имеется ввиду во втором пункте недостатков?