在 PHP 中需要有关此 if else 程序的帮助

Need help regarding this if else program in PHP

<HTML>
  <body>

<?php
echo "<H4>Are you a Male</h4>"
 ?>
<form action ="ifstat.php" method ="post">
  Enter Please: <input type="text" name="val1">
  <input type ="submit" >
  <input type ="reset">
</form>

<?php
  $isMale=$_POST["val1"];
if($isMale =="y" || "yes"){
  echo("You are a Male");
} elseif($isMale =="n" || "no") {
  echo("You are a female");
} else{
  echo("Invalid entry");
}

?>
</body>
</html>

所以,这是我的程序代码。即使我输入 "n" 或其他一些值而不是 y,我总是继续将 You are a Male 作为输出。这里的代码有什么问题?

这是输出的照片 https://imgur.com/a/PPH49GK

您需要将条件格式从 if($isMale =="y" || "yes"){ 更改为 if($isMale =="y" || $isMale =="yes"){

<HTML>
  <body>

<?php
echo "<H4>Are you a Male</h4>"
 ?>
<form action ="ifstat.php" method ="post">
  Enter Please: <input type="text" name="val1">
  <input type ="submit" >
  <input type ="reset">
</form>

<?php
  $isMale=$_POST["val1"];
if($isMale =="y" || $isMale =="yes"){
  echo("You are a Male");
} elseif($isMale =="n" || $isMale =="no") {
  echo("You are a female");
} else{
  echo("Invalid entry");
}

?>
</body>
</html>

在您的 if 语句中....

if($isMale =="y" || "yes" ){

|| "yes" 无效并且将始终(在这种情况下)评估为真。

在处理之前您也不会检查是否输入了任何内容,因此通常您会检查是否设置了某些内容(即是否提交了表格)然后进行处理...

<?php
if (isset($_POST["val1"])) {
    $isMale=$_POST["val1"];
    if($isMale =="y" || $isMale =="yes"){
       echo("You are a Male");
    } elseif($isMale =="n" || $isMale =="no") {
       echo("You are a female");
    } else {
       echo("Invalid entry");
    }
}
?>