【问题标题】:How to print out a check-mark icon on submitted form using PHP?如何使用 PHP 在提交的表单上打印复选标记图标?
【发布时间】:2019-04-27 10:43:31
【问题描述】:

如果rowCount == 0,下面的代码将打印出<i class="far fa-star"></i>,如果> 0 将打印出<i class="fas fa-check"></i>,则在用户提交表单后,他们将无法看到<i class="fas fa-check"></i>,除非他们刷新页面,用户提交表单后页面自行刷新,用户需要再刷新一次才能看到<i class="fas fa-check"></i>

if ($rowCountFav == 0) {
  $favIcon = '<i class="far fa-star"></i>';
}else{$favIcon = '<i class="fas fa-check"></i>';}

if($_SERVER['REQUEST_METHOD'] == 'POST'){
  if(isset($_POST["fav"])){ 
    if ($rowCountFav == 0) {
      $favorito = $conn->prepare("INSERT INTO `favorito` (user_id, nameItem) VALUES (:user_id, :nameItem)");
      $favorito->bindParam(':user_id', $user_id, PDO::PARAM_INT);
      $favorito->bindParam(':nameItem', $nameItem, PDO::PARAM_STR);
      $favorito->execute();
    }
  } 
}
?>
<form action="" method="post" autocomplete="off">
  <button class="btnSub btnA" type="submit" name="fav" />
    Favorito <?= $favIcon;?>
  </button> <span class="ml-1 mr-2">-</span> 
</form> 

我想要什么:我想在用户提交表单后打印出&lt;i class="fas fa-check"&gt;&lt;/i&gt;

所以我尝试了这个,但没有任何改变:

if($_SERVER['REQUEST_METHOD'] == 'POST'){
  if(isset($_POST["fav"])){ 
    if ($rowCountFav == 0) {
      $favorito = $conn->prepare("INSERT INTO `favorito` (user_id, nameItem) VALUES (:user_id, :nameItem)");
      $favorito->bindParam(':user_id', $user_id, PDO::PARAM_INT);
      $favorito->bindParam(':nameItem', $nameItem, PDO::PARAM_STR);
      $favorito->execute();
    }else{$favIcon = '<i class="fas fa-check"></i>';} ## I just added this line ##
  } 
}

有人可以帮忙吗?

【问题讨论】:

    标签: php if-statement icons submit form-submit


    【解决方案1】:

    您在更新之前检查$rowCountFav。解决方法很简单,切换检查和查询。您还需要在查询后更新变量值:

    if($_SERVER['REQUEST_METHOD'] == 'POST'){
      if(isset($_POST["fav"])){ 
        if ($rowCountFav == 0) {
          $favorito = $conn->prepare("INSERT INTO `favorito` (user_id, nameItem) VALUES (:user_id, :nameItem)");
          $favorito->bindParam(':user_id', $user_id, PDO::PARAM_INT);
          $favorito->bindParam(':nameItem', $nameItem, PDO::PARAM_STR);
          $favorito->execute();
          $rowCountFav = 1;
        }
      } 
    }
    
    if ($rowCountFav == 0) {
      $favIcon = '<i class="far fa-star"></i>';
    } else {
      $favIcon = '<i class="fas fa-check"></i>';
    }
    
    ?>
    <form action="" method="post" autocomplete="off">
      <button class="btnSub btnA" type="submit" name="fav" />
        Favorito <?= $favIcon;?>
      </button> <span class="ml-1 mr-2">-</span> 
    </form> 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多