如何使用 PHP 在提交的表单上打印复选标记图标?
How to print out a check-mark icon on submitted form using PHP?
如果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>
我想要的:我想在用户提交表单后打印出<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();
}else{$favIcon = '<i class="fas fa-check"></i>';} ## I just added this line ##
}
}
有人可以帮忙吗?
您在更新前检查$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>
如果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>
我想要的:我想在用户提交表单后打印出<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();
}else{$favIcon = '<i class="fas fa-check"></i>';} ## I just added this line ##
}
}
有人可以帮忙吗?
您在更新前检查$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>