gpt4 book ai didi

php - 为邀请/推荐系统重定向用户

转载 作者:行者123 更新时间:2023-11-29 00:11:04 25 4
gpt4 key购买 nike

我创建了一个邀请/推荐系统,允许用户通过输入电子邮件地址来邀请某人,电子邮件和随机邀请代码存储在“推荐”表中。然后会向该人发送一封电子邮件,其中包含他们的电子邮件地址和 URL 链接中唯一的 10 个字符的邀请代码,例如www.website.com/register.php?email=(emailaddress)&invite_code=1234567890

  • 我做了一些修改,下面的脚本现在应该被重定向到 register.php,如果没有则返回主页。

我已经对此进行了测试,即使使用有效的 URL 链接,用户仍然会被重定向到 index.php 页面。 (这也不会阻止用户手动访问 register.php)

表格详细信息 = 带有 ID 的“推荐”|网址 |点击 |电邮 |邀请码

我已经设法让页面重定向,但如果他们的电子邮件有实际的邀请代码,这就不好了。

这是我过去几天一直在修改以尝试开始工作的脚本:

 <?php 

include 'config.php';

if (isset($_GET['email'],$_GET['inviteCode'])) {

$mysqli = new Mysqli(/* your connection */);
$email = $mysqli->real_escape_string($_GET['email']);
$inviteCode = $mysqli->real_escape_string($_GET['inviteCode']);
$sql = "SELECT email,inviteCode FROM referrals WHERE email='$email' AND inviteCode='$inviteCode'";
$query = $mysqli->query($sql);

if ($query->num_rows) //check if values are correct and available in database
{
header('Location: register.php');
}
else
{
header('Location: index.php');
exit;
}
}
else
{
header('Location: index.php'); //Page not accessible if neither email nor referral entered
}

?>

它应该是直截了当的,检查“电子邮件”和“邀请代码”的 URL 是否已被邀请,如果没有重定向则允许访问该页面。 < 随着更新,它们应该被重定向到 register.php 或 index.php。如果未经邀请访问,这不会停止对 register.php 的访问。

最佳答案

假设问题中的脚本名为 register.php 并且脚本命中了这一行:

header('位置:register.php');

浏览器会将用户重定向回同一页面,此时查询字符串将不包含电子邮件和注册验证码。此时 register.php 脚本将重定向到 index.php 页面(使其看起来像身份验证失败)。

当电子邮件地址和身份验证代码有效时,您要做的是将用户重定向到类似 welcome.php 的内容。

welcome.php 可能包含如下内容:

<?php
echo 'Your invitation was validated';

并在 register.php 中更改

header('位置:register.php');header('位置:welcome.php');

关于php - 为邀请/推荐系统重定向用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25024677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com