我将从一个输入表单中张贴用户名和密码,并使用它们来检查我的数组。如果两者都存在,我想回显一条成功消息,如果没有,我想输出一条错误消息。
if语句的成功部分正在工作,但是当我尝试的时候,我的错误消息没有输出。谁能帮帮我。
<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>
发布于 2016-10-15 20:42:14
我建议你这样重写你的代码:
$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函数:
if (in_array($enteredusername, $userNames)
&& in_array($enteredpassword, $passwords)) {
echo $successmessage;
} else {
echo $errormessage;
}发布于 2016-10-15 21:10:02
***
<?php
for($x=0; $x<=10; $x++)
{
if(($enteredusername == $userNames[$x]) && ($enteredpassword == $passwords[$x]))
{
$message = "success";
break;
}
else
{
$message = "failure";
}
}
echo $message;
?>
发布于 2016-10-16 00:14:33
看看这对你有没有帮助-
<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 ?>标签是错误的。
https://stackoverflow.com/questions/40059102
复制相似问题