I'm posting a username and password from an input form and using them to check my arrays if they are there. If both are present, i want to echo a success message and if not i want to output an error message.
My success part of the if statement is working but my error message isn't outputting when i try. Can someone please help me.
<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>
I avise you to rewrite your code in this way:
$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;
}
Another way to achieve the same is to use in_array
function:
if (in_array($enteredusername, $userNames)
&& in_array($enteredpassword, $passwords)) {
echo $successmessage;
} else {
echo $errormessage;
}
***
<?php
for($x=0; $x<=10; $x++)
{
if(($enteredusername == $userNames[$x]) && ($enteredpassword == $passwords[$x]))
{
$message = "success";
break;
}
else
{
$message = "failure";
}
}
echo $message;
?>
</div>
See if this helps you -
<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>
And note: <?php ?>
tag was wrong in your code.