即使“ if”语句在PHP中为true,其他语句也会运行

用户名

我在运行多个if语句时遇到问题。即使“ if”语句为true,else语句由于某些奇怪的原因仍会运行后缀。有什么原因可能会这样吗?

$userlength = strlen($username);
$emailength = strlen($email);
$passlength = strlen($password);

// VERIFICATION
if ($userlength < 10 || $userlength > 20) {
    Echo "Username Error";
}
if ($emailength < 7 || $emailength > 30) {
    Echo "Email Error";
}
if ($passlength < 5 || $passlength > 32) {
    Echo "Password Error";
}
if ($password != $repassword) {
    Echo "Passwords Do Not Match";
}
else {
    Echo "This still runs!?!?!!?";
}
贾科莫1968

问题是您的决赛else只在决赛中发挥作用if; 尝试else if像这样使用

// VERIFICATION
if ($userlength < 10 || $userlength > 20) {
    echo "Username Error";
}
else if ($emailength < 7 || $emailength > 30) {
    echo "Email Error";
}
else if ($passlength < 5 || $passlength > 32) {
    echo "Password Error";
}
else if ($password != $repassword) {
    echo "Passwords Do Not Match";
}
else {
    echo "This still runs!?!?!!?";
}

但是您的逻辑尚不清楚。因此,也许您需要像这样使它更强大。该想法已$invalid设置为FALSE,任何错误都将设置$invalidTRUE因此,如果$invalid确实在检查结束时TRUE知道您应该停止正在做的事情并循环返回:

// VERIFICATION
$invalid = FALSE;
if ($userlength < 10 || $userlength > 20) {
    $invalid = TRUE;
    echo "Username Error";
}
if ($emailength < 7 || $emailength > 30) {
    $invalid = TRUE;
    echo "Email Error";
}
if ($passlength < 5 || $passlength > 32) {
    $invalid = TRUE;
    echo "Password Error";
}
if ($password != $repassword) {
    $invalid = TRUE;
    echo "Passwords Do Not Match";
}

if ($invalid) {
    echo "There were errors.";
    die();
}

echo "If you get to here, everything checks out. Move on!";

或者是使用$errors数组处理此问题的更好方法这个想法是,每次错误都会在$errors数组中设置一个值那么$errors检查后数组是否为空?您知道输入有效。如果存在,$errors则说明存在问题,您可以通过foreach循环回显数组的内容

// VERIFICATION
$errors = array();
if ($userlength < 10 || $userlength > 20) {
    $errors[] = "Username Error";
}
if ($emailength < 7 || $emailength > 30) {
    $errors[] = "Email Error";
}
if ($passlength < 5 || $passlength > 32) {
    $errors[] = "Password Error";
}
if ($password != $repassword) {
    $errors[] = "Passwords Do Not Match";
}

if (!empty($errors)) {
    $was_word = count($errors) > 1 ? "were" : "was";
    $error_word = count($errors) > 1 ? "errors" : "error";
    echo "There " . $was_word . count($errors) . " " . $error_word . "<br />";
    foreach ($errors as $error) {
      echo $error . "<br />";
    }
    die();
}

echo "If you get to here, everything checks out. Move on!";

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

即使语句为真,其他语句仍在运行?

来自分类Dev

Python if 语句即使为 false 也会运行

来自分类Dev

在R中嵌套if语句-即使'if'语句为TRUE也会执行'else'语句

来自分类Dev

即使先前的“ if”语句为true,Python程序也会运行“ else”语句

来自分类Dev

即使 if 语句为真,Else 语句也会运行 (Swift)

来自分类Dev

即使if语句为true,函数也会返回false

来自分类Dev

其他情况下运行,即使为true(如果/其他)

来自分类Dev

JavaScript 表单验证:if 语句认为 select 标签即使参数为 false 也会运行

来自分类Dev

即使 event.target 不是指定的元素,if 语句也会运行

来自分类Dev

即使条件为true,Return语句也不会中断

来自分类Dev

即使条件为true,Return语句也不会中断

来自分类Dev

即使函数返回 False,If 语句也计算为 True

来自分类Dev

PHP脚本即使没有执行POST也会执行IF语句

来自分类Dev

即使while循环被评估为false,语句仍在运行?

来自分类Dev

如果语句运行,即使不正确

来自分类Dev

即使输入正确,if 语句也始终为真?

来自分类Dev

即使在Codeigniter中语句为False,也查询返回的数据

来自分类Dev

即使不再满足“ if语句”,“ if语句”内部的功能仍会运行

来自分类Dev

多个 PHP Else If 语句即使满足其他条件也只返回第一个条件

来自分类Dev

如果语句被跳过,即使该语句为真

来自分类Dev

如果Google脚本中的if语句为true,则其他语句仍在运行

来自分类Dev

即使正确也显示其他

来自分类Dev

为什么即使条件为假(从我看来)也会执行“if”语句?

来自分类Dev

即使运行其他版本,Android也会始终从v9文件夹中获取我的布局

来自分类Dev

Python if语句即使满足条件也会跳过代码

来自分类Dev

Python if语句即使满足条件也会跳过代码

来自分类Dev

当status的值为true时,即使if语句也未完成警报

来自分类Dev

预备语句-即使在没有(?)占位符的查询中,我也应该使用php预备语句吗?

来自分类Dev

检查Python中的所有条件,即使其他条件评估为true也是如此

Related 相关文章

  1. 1

    即使语句为真,其他语句仍在运行?

  2. 2

    Python if 语句即使为 false 也会运行

  3. 3

    在R中嵌套if语句-即使'if'语句为TRUE也会执行'else'语句

  4. 4

    即使先前的“ if”语句为true,Python程序也会运行“ else”语句

  5. 5

    即使 if 语句为真,Else 语句也会运行 (Swift)

  6. 6

    即使if语句为true,函数也会返回false

  7. 7

    其他情况下运行,即使为true(如果/其他)

  8. 8

    JavaScript 表单验证:if 语句认为 select 标签即使参数为 false 也会运行

  9. 9

    即使 event.target 不是指定的元素,if 语句也会运行

  10. 10

    即使条件为true,Return语句也不会中断

  11. 11

    即使条件为true,Return语句也不会中断

  12. 12

    即使函数返回 False,If 语句也计算为 True

  13. 13

    PHP脚本即使没有执行POST也会执行IF语句

  14. 14

    即使while循环被评估为false,语句仍在运行?

  15. 15

    如果语句运行,即使不正确

  16. 16

    即使输入正确,if 语句也始终为真?

  17. 17

    即使在Codeigniter中语句为False,也查询返回的数据

  18. 18

    即使不再满足“ if语句”,“ if语句”内部的功能仍会运行

  19. 19

    多个 PHP Else If 语句即使满足其他条件也只返回第一个条件

  20. 20

    如果语句被跳过,即使该语句为真

  21. 21

    如果Google脚本中的if语句为true,则其他语句仍在运行

  22. 22

    即使正确也显示其他

  23. 23

    为什么即使条件为假(从我看来)也会执行“if”语句?

  24. 24

    即使运行其他版本,Android也会始终从v9文件夹中获取我的布局

  25. 25

    Python if语句即使满足条件也会跳过代码

  26. 26

    Python if语句即使满足条件也会跳过代码

  27. 27

    当status的值为true时,即使if语句也未完成警报

  28. 28

    预备语句-即使在没有(?)占位符的查询中,我也应该使用php预备语句吗?

  29. 29

    检查Python中的所有条件,即使其他条件评估为true也是如此

热门标签

归档