首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有2个文本字段的PHP上的If语句

带有2个文本字段的PHP上的If语句
EN

Stack Overflow用户
提问于 2016-10-15 20:37:00
回答 3查看 36关注 0票数 0

我将从一个输入表单中张贴用户名和密码,并使用它们来检查我的数组。如果两者都存在,我想回显一条成功消息,如果没有,我想输出一条错误消息。

if语句的成功部分正在工作,但是当我尝试的时候,我的错误消息没有输出。谁能帮帮我。

代码语言:javascript
复制
<html>
<head>
    <title> Half Term Project 3 </title>
</head>
<body>
    <div align="center">
    <h2> Half Term Project 3 </h2>
    <?

    $errormessage = "log in details incorrect";
    $successmessage = "You are logged in";

    $userNames[0]="Carolyne"; 
    $userNames[1]="Dave"; 
    $userNames[2]="Sharonda"; 
    $userNames[3]="Milton"; 
    $userNames[4]="Macie"; 
    $userNames[5]="Harriette";
    $userNames[6]="Gianna"; 
    $userNames[7]="Grant"; 
    $userNames[8]="Caryl"; 
    $userNames[9]="Genna"; 
    $userNames[10]="Carl";

    $passwords[0]="password"; 
    $passwords[1]="123456"; 
    $passwords[2]="master"; 
    $passwords[3]="1234"; 
    $passwords[4]="qwerty"; 
    $passwords[5]="12345"; 
    $passwords[6]="dragon"; 
    $passwords[7]="mustang"; 
    $passwords[8]="baseball"; 
    $passwords[9]="football"; 
    $passwords[10]="letmein";

    $enteredusername = $_POST["username"];
    $enteredpassword = $_POST["password"];


    for($x=0; $x<=10; $x++){
        if($enteredusername == $userNames[$x]){
            if($enteredpassword == $passwords[$x]){
            echo $successmessage;
            }
            else {
                echo $errormessage;
            }
        }
        else echo $errormessage;            
    }




    ?>
    </div>
</body>

EN

回答 3

Stack Overflow用户

发布于 2016-10-15 20:42:14

我建议你这样重写你的代码:

代码语言:javascript
复制
$user_found = false;
for($x=0; $x<=10; $x++){
    if($enteredusername == $userNames[$x] && $enteredpassword == $passwords[$x]) {
        $user_found = true;
        break;
    }
}
if($user_found){
    echo $successmessage;
}
else {
    echo $errormessage;
}

另一种实现相同功能的方法是使用in_array函数:

代码语言:javascript
复制
if (in_array($enteredusername, $userNames) 
    && in_array($enteredpassword, $passwords)) {
    echo $successmessage;
} else {
    echo $errormessage;
}
票数 1
EN

Stack Overflow用户

发布于 2016-10-15 21:10:02

代码语言:javascript
复制
***

代码语言:javascript
复制
<?php

for($x=0; $x<=10; $x++)
{
  if(($enteredusername == $userNames[$x]) && ($enteredpassword == $passwords[$x]))
{
    $message = "success";
    break;
}
else
{
$message = "failure";
}
}
echo $message;

?>

票数 0
EN

Stack Overflow用户

发布于 2016-10-16 00:14:33

看看这对你有没有帮助-

代码语言:javascript
复制
<html>
<head>
    <title> Half Term Project 3 </title>
</head>
<body>
    <div align="center">
    <h2> Half Term Project 3 </h2>
    <?php

    $errormessage = "log in details incorrect";
    $successmessage = "You are logged in";

    $userNames[0]="Carolyne"; 
    $userNames[1]="Dave"; 
    $userNames[2]="Sharonda"; 
    $userNames[3]="Milton"; 
    $userNames[4]="Macie"; 
    $userNames[5]="Harriette";
    $userNames[6]="Gianna"; 
    $userNames[7]="Grant"; 
    $userNames[8]="Caryl"; 
    $userNames[9]="Genna"; 
    $userNames[10]="Carl";

    $passwords[0]="password"; 
    $passwords[1]="123456"; 
    $passwords[2]="master"; 
    $passwords[3]="1234"; 
    $passwords[4]="qwerty"; 
    $passwords[5]="12345"; 
    $passwords[6]="dragon"; 
    $passwords[7]="mustang"; 
    $passwords[8]="baseball"; 
    $passwords[9]="football"; 
    $passwords[10]="letmein";

    $enteredusername = "Carolyn";
    $enteredpassword = "password";
    $is_exist = false;

    for($x=0; $x<=10; $x++){
        if($enteredusername == $userNames[$x] && $enteredpassword == $passwords[$x]){
            $is_exist = true;
            break;
        }
    }

    if($is_exist) echo $successmessage;
    else echo $errormessage;

    ?>
    </div>

注意:您的代码中的<?php ?>标签是错误的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40059102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档