I have read through a number of the posts regarding if & elseif statements. In my testing I have used var_dump to validate my testing and I am baffled as to why a false condition is being accepted.
I have tried several examples from other posts. I have tried Switch statements, if statements and elseif statements in different forms. I have echoed and var_dumped all of the conditions and still I get a false condition being accepted.
// Code Validation
echo "Current User is " . $user_sex . "<br>";
echo "Region is: " . $Region_name . "<br>";
echo "Region ID: " . $Region_ID . "<br>";
echo "League Type is : " . $LeagueType_name . "<br>";
echo "League Type ID: " . $LeagueType_ID . "<br>";
echo "League Level is: " . $LeagueLvl_name . "<br>";
echo "League level ID: " . $LeagueLvl_ID . "<br>";
echo "LeagueSgls ID: " . $LeagueSgls . "<br>";
echo "LeagueDbls ID: " . $LeagueDbls . "<br>";
var_dump($user_sex == "Male");
echo "<br>";
var_dump((($user_sex == "Male") && (($LeagueType_ID = 1 ) && ($LeagueLvl_ID <= $LeagueSgls))));
echo "<br>";
var_dump((($user_sex == "Male") && (($LeagueType_ID = 3 || $LeagueType_ID = 5 ) && ($LeagueLvl_ID >= $LeagueDbls))));
echo "<br>";
var_dump((($user_sex == "Female") && (($LeagueType_ID = 2 ) && ($LeagueLvl_ID <= $LeagueSgls))));
echo "<br>";
var_dump((($user_sex == "Female") && (($LeagueType_ID = 4 || $LeagueType_ID = 5 ) && ($LeagueLvl_ID >= $LeagueDbls))));
echo "<br>";
var_dump($user_sex == "Female");
//if-elseif statements with conditions
if (($user_sex == "Male") && (($LeagueType_ID = 1 ) && ($LeagueLvl_ID <= $LeagueSgls))) {
$LeaguePlay = "{$row['league_desc']}<br>";
} elseif (($user_sex == "Male") && (($LeagueType_ID = 3 || $LeagueType_ID = 5 ) && ($LeagueLvl_ID >= $LeagueDbls))) {
$LeaguePlay = "{$row['league_desc']}<br>";
} elseif (($user_sex == "Female") && (($LeagueType_ID = 2 ) && ($LeagueLvl_ID <= $LeagueSgls))){
$LeaguePlay = "{$row['league_desc']}<br>";
} elseif (($user_sex == "Female") && (($LeagueType_ID = 4 || $LeagueType_ID = 5 ) && ($LeagueLvl_ID >= $LeagueDbls))) {
$LeaguePlay = "{$row['league_desc']}<br>";
} else {
$LeaguePlay = "You have incorrect selections";
}
The output from the verification:
Current User is Male
Region is: Charlotte, NC
Region ID: 4
League Type is : Women's Singles
League Type ID: 2
League Level is: 4.0 High Singles
League level ID: 8
LeagueSgls ID: 12
LeagueDbls ID: 13
bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
bool(false)
I was expecting to get "You have incorrect selections" It actually gave me the mysql query: Charlotte Women's Singles - 2019 - 4.0 High - 18 & Over
The condition: "(($user_sex == "Female") && (($LeagueType_ID = 2 ) && ($LeagueLvl_ID <= $LeagueSgls)))" is false according to var_dump for this condition.
Aucun commentaire:
Enregistrer un commentaire