1

我的 PHP 类有问题,当用户想要关注另一个用户时,会调用 follow 方法,而当用户想要停止关注时,delete_follow会调用:

class Follow {

    protected static $table_name = "interests";


    public function follow() {
        global $dbh;
        $sql = "INSERT INTO ".self::$table_name." (company_id,user_id,likedate) VALUES (:company_id,:user_id,NOW())";
        $follow = $dbh->prepare($sql);
        $follow->bindParam(':user_id',$_SESSION['user_id']);
        $follow->bindParam(':company_id',$_GET['company']);
        if($follow->execute() == true){
            header("Location: profile.php?company=".$_GET['company']."");
            exit;
        } else {
            header("Location: error.php");
            exit;
        }
    }

    public function delete_follow() {
        global $dbh;
        $sql = "DELETE FROM ".self::$table_name." WHERE company_id = :company_id AND user_id = :user_id LIMIT 1";
        $delete_follow = $dbh->prepare($sql);
        $delete_follow->bindParam(':user_id',$_SESSION['user_id']);
        $delete_follow->bindParam(':company_id',$_GET['company']);
        if($delete_follow->execute() == true) {
            header("Location: profile.php?company=".$_GET['company']."");
            exit;
        } else {
            header("Location: error.php");
            exit;
        }
    }   


}

我的问题是,当调用 delete_follow 方法时,它实际上调用了 follow 方法,我不知道发生了什么。

以下是以下按钮的代码:

if(isset($_POST['follow'])) {
    $follows = new Follow();
    $follows->follow();
}

if(isset($_POST['delete_follow'])) {
    $follows = new Follow();
    $follows->delete_follow();
}

请帮忙。

4

2 回答 2

4

您的班级名称是Follow。类中的第一个方法称为follow(). PHP 在这方面不区分大小写,并将该follow()方法视为构造函数。所以这个语句————实际上是从你的类中$follows = new Follow()调用方法。follow()这可能是你的问题。

在此处阅读有关 PHP 构造函数的更多信息。

于 2012-07-21T04:10:50.027 回答
0

我想你的表格有错误。也许最好有一个follow带有布尔值的字段,比如yesor no

于 2012-07-21T04:07:53.860 回答