Php 按下按钮时不进入if语句

Php 按下按钮时不进入if语句,php,html,Php,Html,我有个问题。当它按下按钮时,我需要代码进入if语句,但它没有这样做 我试着使用get和post <form method="get" action="index.php"> <div class="card" style="width: 18rem;"> <?php echo "<img src=\"images/{$row['image']}\" alt=\"\" width=\"200\">";

我有个问题。当它按下按钮时,我需要代码进入if语句,但它没有这样做

我试着使用get和post

<form method="get" action="index.php">
    <div class="card" style="width: 18rem;">
        <?php
        echo "<img 
src=\"images/{$row['image']}\" alt=\"\" width=\"200\">";
        ?>
        <div class="card-body">
            <h5 class="card-title"><?php echo " 
{$row['type']} in {$row['town']} - &euro;{$row['price']}" ?></h5>
            <p class="card-text"></p>
            <a href="#" class="btn btn-primary"
               name="favourites" id="favourites">Add to Wishlist</a>
        </div>
    </div>
</form>
<?php
if (isset($_GET['favourites'])) {
    echo "hi";
    $add_to_wishlist_query = "INSERT INTO 
tbl_favourite (userId, propertyId) VALUES ({$_SESSION['loggedin']}, 
propertyId)";
    mysqli_query($link,
        $add_to_wishlist_query);
    echo "<div class='alert alert- 
success'>Property added to wishlist!</div>";
}
?>

我需要它,当它进入if语句时,它执行if中的内容,您已经在表单上下文中使用了HTML锚定标记链接。定位标记不是表单元素。如果单击此链接,则不会提交表单。“链接”的目的是在单击时将浏览器重定向到另一个网站URL。如果您想提交一个包含一些输入字段的表单,而我在代码中根本看不到这些字段,那么您需要使用or。当您单击表单内部的按钮时,浏览器将提交整个表单,其中包含所有输入

但是,如果您只想有一个指向网站其他部分的链接,而该部分不太可能查看您的PHP代码,则可以将href属性值与查询字符串一起使用

<a href="?favourites=1" class="btn btn-primary" id="favourites">Add to Wishlist</a>
当您单击链接时,将不会在页面上执行任何操作,除非它附加了一些JavaScript事件


无关的。SQL看起来完全错误,您不应该将PHP变量放入SQL字符串中。使用参数化的准备语句,而不是手动生成查询。它们由或提供。

您能格式化代码,使我们更容易阅读吗?链接不是表单的一部分。他们不会提交。而且你的SQL是完全不正确的。使用预先准备好的语句。除上述内容外,propertyId的值从何处获得?HTML锚定标记是一个链接。您可能需要一个提交按钮。
$_GET['favourites'] = 1;