Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 创建具有过期时间的唯一链接(一次性单击)_Php - Fatal编程技术网

Php 创建具有过期时间的唯一链接(一次性单击)

Php 创建具有过期时间的唯一链接(一次性单击),php,Php,我想为我的新闻稿创建独特的链接(一次点击) 查看以下步骤: 我将创建一个链接,也可以是创建链接的脚本 我的订户将收到包含此链接的新闻稿 他们点击/访问此通讯/链接 如果他们想再次访问,他们不能,链接将过期,订阅者将被重定向到其他页面 那么有没有机会创造这个呢?如何做到这一点 我有这个密码 <?php include("variables.php"); $password = trim($_SERVER['QUERY_STRING']); if($passwor

我想为我的新闻稿创建独特的链接(一次点击)

查看以下步骤:

  • 我将创建一个链接,也可以是创建链接的脚本

  • 我的订户将收到包含此链接的新闻稿

  • 他们点击/访问此通讯/链接

  • 如果他们想再次访问,他们不能,链接将过期,订阅者将被重定向到其他页面

  • 那么有没有机会创造这个呢?如何做到这一点

    我有这个密码

    <?php
    
        include("variables.php");
    
        $password = trim($_SERVER['QUERY_STRING']);
    
        if($password == ADMIN_PASSWORD) {
            // Create a new key
            $new = uniqid('key',TRUE);
    
            if(!is_dir('keys')) {
                mkdir('keys');
                $file = fopen('keys/.htaccess','w');
                fwrite($file,"Order allow,deny\nDeny from all");
                fclose($file);
            }
    
            $file = fopen('keys/keys','a');
            fwrite($file,"{$new}\n");
            fclose($file);
    ?>
    
    
    
    这个脚本位于一个名为generate.php的文件中,如果我访问这个url(-1234是生成唯一ID的密码),将生成一个这样的唯一链接,该链接只有1次可用

    现在我想要的是,访问

    这将生成一个独特的链接

    这是一个受保护的下载页面!我需要将用户电子邮件添加到下载页面,这将通过链接生成。”s'是下载页面将使用$\u get['s']获取的变量


    明白我的意思吗?

    我会用那里的电子邮件来做这件事

    然后用以下语句创建一个PHP页面。 请求GET(在本例中是电子邮件地址)并检查它是否存在于数据库表中(我们将其称为-hasvisited)

    如果存在,则重定向到所需页面

    如果不存在,那么。。。 1.)将其添加到数据库中。 2.)显示1次页面

    当第一步发生时。它将阻止用户再次访问

    如果你想把它限制在一组特定的用户身上——就像上面的解决方案一样,人们可以从理论上键入任何东西来克服这个问题

    我将创建一个已经有用户的表,并在一个名为“访问”的列上执行IF状态,如果1或更少,则允许并向“访问”列添加+1。如果超过1次访问,则重定向


    我希望这是有意义的——使用PHP、MySQL DB和simple IF语句实现起来应该相当简单。

    我发现了如何实现。但我不知道如何将此脚本用于我的用途。请在数据库中的users表中添加一个名为unique_link的列。将其默认为0。让页面确保列为0以查看页面,当用户访问页面时,将列设置为1。@ScottHelme教程不是很好。这些原则可能适用,但使用旧的MySQL扩展是不可接受的(这篇文章是从2012年开始的)。@Scott Helme我不希望有人为我编写代码,我希望有人向我展示类似于我需要的东西!我找到了解决方案:
    这个脚本生成了一个像site.com/page.php这样的链接?key525e0acd163592.31766032现在很容易,很难做到,因为我对php不太了解。