PHP: 在 IF 和 ELSE 语句中传递 URL 参数

PHP: Passing URL Parameter in IF and ELSE statement

我试图在 IF 和 ELSE 语句中传递 URL 参数。这就是只有 link 而没有参数的初始代码的样子:

 <?php 

    if ($row_checklist_finding_final['item_class'] == "Major")   
    {
        echo '<a href="UserNCR.php">Go to NCR</a>';
    }

    else
    {
        echo '<a href="UserOFI.php">Go to OFI</a>';
    }
?>

通常当我试图传递一个 URL 参数时,我使用这段代码(没有 if 和 else 语句:

<a href="UserNCR.php?item_id=<?php echo $row_checklist_finding_final['item_id']; ?>">
    Go to NCR
</a>

所以我所做的是,我使用我通常的方式将参数放在 link 中,就像这样。 参数名称是 item_id 等于值 $row_checklist_finding_final['item_id']

<?php 
    if ($row_checklist_finding_final['item_class'] == "Major")   
    {
        <a href="UserNCR.php?item_id=<?php echo $row_checklist_finding_final['item_id']; ?>">Go to NCR</a>
    }

    else
    {
        '<a href="UserOFI.php">Go to OFI</a>';
    }
?>

我也试过像这样删除多余的<?php ?>

  <?php 
    if ($row_checklist_finding_final['item_class'] == "Major")   
    {
        <a href="UserNCR.php?item_id= echo $row_checklist_finding_final['item_id'];">Go to NCR</a>
    }

    else
    {
        '<a href="UserOFI.php">Go to OFI</a>';
    }
?>

但是还是有错误。 我使用了错误的语法吗? 如何在 IF 和 ELSE 语句中传递 URL 参数?

像下面这样更改您的代码

<?php 
  if ($row_checklist_finding_final['item_class'] == "Major")   
  {
    echo ' <a href="UserNCR.php?item_id='.$row_checklist_finding_final["item_id"].'">Go to NCR</a>';
  }
  else
  {
    echo '<a href="UserOFI.php">Go to OFI</a>';
  }
?>

您可以使用 .串联运算符将变量连接在一起,例如按照

中的建议

另一种方法是对字符串使用双引号,因为它们允许包含变量。这样做时数组需要用大括号括起来:

 <?php 
    if ($row_checklist_finding_final['item_class'] == "Major")   
    {
        echo "<a href=\"UserNCR.php?item_id={$row_checklist_finding_final['item_id']\">Go to NCR</a>';
    }
    else
    {
        echo '<a href="UserOFI.php">Go to OFI</a>';
    }
?>

请注意,字符串中的任何双引号都需要使用反斜杠进行转义。