使用PHP $ _GET

时间:2018-04-30 07:57:45

标签: php sql

嗨,也许这不是提出这个问题的正确论坛。但我只想在我的系统上输入一个输入,这是我第一次构建这样的东西而且我不确定这是否是正确的方法。

系统内置时事通讯,用户可以注册订阅时事通讯。如果用户确实想要注册,则必须提供姓名,姓氏和电子邮件。一旦用户输入这些信息并成功点唱,所有这些信息将存储在具有唯一ID的sql数据库中。

电子邮件将发送给用户,并带有完成激活帐户的链接。

激活链接或多或少看起来像这样。

 http://my-website/newsletter/newsletter-activation.php?activation=63

其中,数字63是该特定用户的sql表中的唯一ID。

在php文件中,我获得了该唯一ID并检查用户是否被激活,如果不是,则激活它们,这只需要一个名为Activation的列来完成。输入“no”或“yes”。

以下是电子邮件链接的一些代码:

电子邮件:http://my-website/newsletter/newsletter-activation.php?activation = $ id'>点击此处

$ id是从sql数据库查询的唯一ID。

这是检查用户是否已被激活的检查。

if(!isset($_GET['activation'])){
    header("location: ../index.php");
    exit();
}else{
    $id = $_GET['activation'];
    $sql = mysqli_query($connection, "SELECT ACCEPTED FROM MAIL_LIST WHERE ID = '$id';");
    $result = mysqli_fetch_object($sql);
    if($result->ACCEPTED === "NO"){
        $sql = mysqli_query($connection,"UPDATE MAIL_LIST SET ACCEPTED = 'YES' WHERE ID = '$id';");
        $h1 = "You have successfully activated our newsletter subscription!";
    }else if($result->ACCEPTED === "YES"){
        $h1 = "You have already activated your subscription!";
    }else{
        header("location: ../index.php");
        exit();
    }
}

所以我正在寻找的问题是我做对了吗?这是网站如何活跃他们的客户?

我遇到的问题是,如果有人想玩我的网站,他们可以继续更改网址唯一ID号码(?activation = 63 64 65 66 67)等等,这可能导致激活一个帐户可能不希望被激活。我怎么能解决这些问题?

0 个答案:

没有答案