我用这段代码来检查一个数字,如果它是偶数或奇数。我正在学习PHP,当我运行这段代码时,会出现一个不寻常的错误。
<html>
<body>
<head>
<title>Judging even and odd numbers</title>
</head>
<form method = "post" action="EAO.php" >
<font size = "20">Please enter a number to check if it is even or odd:</font>
<input type = "text" name = "number" />
<input type = "hidden" name="checker" value="true" />
<input type = "submit" value = "submit" />
</form>
<?PHP
if (isset($_POST['checker'])) {
$number = $_POST['number'];
if ($number % 2 == 0 ) {
echo "The number is Even";
}
if($number % 2 == 1 ) {
echo "The number is odd";
}
if ($number == "") {
echo "Please enter a number";
}
}
?>
</body>
</html>当你输入一个数字时,它很好,但是当你空着提交表单时,它写着“请输入一个数字,这个数字是偶数”。如果我做错了什么,帮我改正。如果我的代码不符合判断数字的标准,请编写更好的代码。谢谢。
发布于 2015-09-19 08:12:58
只要颠倒你的逻辑就能给你带来魔力。您必须始终使用if () {....} elseif () {....},以便在给定的时间内只运行一个逻辑。
<html>
<head>
<title>Judging even and odd numbers</title>
</head>
<body>
<form method = "post" action="EAO.php" >
<font size = "20">Please enter a number to check if it is even or odd:</font>
<input type = "text" name = "number" />
<input type = "hidden" name="checker" value="true" />
<input type = "submit" value = "submit" />
</form>
<?PHP
if (isset($_POST['checker'])) {
$number = $_POST['number'];
if ($number == "") {
echo "Please enter a number";
}
else if ($number % 2 == 0 ) {
echo "The number is Even";
}
else if($number % 2 == 1 ) {
echo "The number is odd";
}
}
?>
</body>
</html>发布于 2015-09-19 08:19:39
试试这个:
<html>
<head>
<title>Judging even and odd numbers</title>
</head>
<body>
<form method = "post" action="" >
<font size = "20">Please enter a number to check if it is even or odd:</font>
<input type = "text" name = "number" />
<input type = "hidden" name="checker" value="true" />
<input type = "submit" value = "submit" />
</form>
<?PHP
if (isset($_POST['checker'])) {
$number = $_POST['number'];
if(empty($number))
{
echo "Please enter a number";
}
elseif ($number % 2 == 0 ) {
echo "The number is Even";
}
else {
echo "The number is odd";
}
}
?>
</body>
</html>将车身标签放在头部标签后面。如果要将表单张贴到同一页,则操作参数是可选的。使用if...elseif...else条件else.asp
发布于 2015-09-19 08:40:39
另一个工作版本是(改进的安全性):
<?php
if (isset($_POST['checker']) && $_POST['checker'] == 'true') {
if (empty($_POST['number'])) { // 0 or empty values will be blocked
echo "Please enter a number";
} else {
if (ctype_digit($_POST['number'])) { // only number will be accepted
$number = $_POST['number'];
if ($number % 2 == 0 ) {
echo "The number is Even";
}
if($number % 2 == 1 ) {
echo "The number is odd";
}
else {
echo 'Numbers only please!';
}
}
}
?>https://stackoverflow.com/questions/32665853
复制相似问题