为什么这样!isset似乎不起作用?

Pea*_*key 1 php forms validation isset

我是PHP的新手,并且已经整合了一个将输入值相乘的表单.但是,当我尝试验证某人是否未输入任何值以返回错误消息时,它会显示该消息.我的代码如下.感谢您是否也可以提出改进建议.

<?php

$counter = 0;

if(isset($_POST["submit"])) {
    $start = $_POST["start"];
    $end = $_POST["end"];
    $multiply = $_POST["multiplication"];

// if($_POST["start"] == "" && $_POST["end"] == "" && $_POST["multiplication"] == "") {
    // print "Please enter some values";
// }

if(!isset($_POST["start"], $_POST["end"], $_POST["multiplication"])) {
    print "Please enter some values";

}

// for($start;$start<$end;$start++) {
    // $counter = $counter +1;
    // $multiplication = $counter * $multiply;
    // print "$counter <br />";
    // print "$counter multiplied by $multiply = $multiplication <br />";

// }

}

?>
<html>
<head>
    <title>Sample Multiplication</title>
</head>
<body>
    <form name="multiply" method="post" action="multiplication_sample.php">
        <input type="text" name="start" value="<?php if(isset($_POST["start"])) { print $start; }  ?>">
        <input type="text" name="end" value="<?php if(isset($_POST["end"])) { print $end; } ?>">
        <input type="text" name="multiplication" value="<?php if(isset($_POST["multiplication"])) { print $multiply; } ?>">
        <input type="submit" name="submit" value="submit">
    </form>

<?php

if(isset($_POST["submit"])) {

for($start;$start<$end;$start++) {
    $counter = $counter + 1;
    $multiplication = $counter * $multiply;
    print "$counter multiplied by $multiply = $multiplication <br />";
}

}

?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Mit*_*sey 7

我认为这isset将确保变量不是NULL,但是,"空白"与null不同.如果您提交带有空白值的表单,则该变量仍在设置中,它只是空的.