php变量(website.com/?f="123“)保存到数据库&重定向

时间:2011-07-06 14:47:09

标签: php mysql

我之前从未编写过php,我真的需要这个非常简单的脚本。

让我解释一下我需要什么。 用户通过会员链接访问我的网站,以便他们完成重定向 网址将如下所示

http://website.com/lp/index.html?sub=1&customer_id=1039be6e23b4420c3e1063dc44a04d

现在我的网站上有一个下载链接 在下载点击 检查数据库中的重复IP地址。如果不重复 capture sub =“”&来自地址栏的customer_id =“”。 使用IP地址保存到数据库(这用于跟踪)

并立即重定向到下载链接

如果ip没有重复

 http://dl.website.com/download/downloadpop.aspx?id={Customer_id}

如果它是重复的

http://dl.website.com/download/downloadpop.aspx?id=beenbefore

非常感谢你!

3 个答案:

答案 0 :(得分:2)

您可能需要重定向标题:

http://php.net/manual/en/function.header.php

和mysql_connect,mysql_query等用于DB的东西:

http://php.net/manual/en/book.mysql.php

您可以从$ _GET中提取GET参数:

http://php.net/manual/en/reserved.variables.get.php

请注意,对header()的任何调用都必须在其他输出之前进行(请参阅链接页面上的示例。)

答案 1 :(得分:1)

这是相当广泛的,如果不了解有关数据库结构的任何细节,就无法正确回答,但这里的基础知识将如何运作:

<?php

$sub = $_GET['sub'];
$customer_id = $_GET['customer_id'];
$ip = $_SERVER['REMOTE_ADDR'];

$db = mysql_connect(...) or die(mysql_error());

$quoted_sub = mysql_real_escape_string($sub);
$quoted_customer_id = mysql_real_escape_string($customer_id);
$quoted_ip = mysql_real_escape_string($ip);

$sql = "SELECT count(*) AS cnt FROM yourtable WHERE ip_address = '$quoted_id'";
$result = msyql_query($sql) or die(mysql_error());
$row = mysql_fetch_assoc($result);
if ($row['cnt'] == 0) {
    $enc = urlencode($customer_id);
    ... IP isn't in the database, so do the insert stuff ...
    header(" http://dl.website.com/download/downloadpop.aspx?id=$enc");
} else {
    header("Location: http://dl.website.com/download/downloadpop.aspx?id=beenbefore");
}

exit();

答案 2 :(得分:0)

首先,你可以access these variables via $_GET()

接下来,你INSERT them into a database using PDO

最后,您可以使用相应的header()重定向某人:

header('Location:http://dl.website.com/download/downloadpop.aspx?id=beenbefore');