【发布时间】:2015-03-05 02:12:58
【问题描述】:
您好,提前感谢您提供的任何建议。
我想要完成的工作:当用户单击链接时,我想将自动增量 ID、单击 URL 和时间戳添加到数据库,然后将它们发送到 URL 链接登录页面。
我遇到的问题:单击链接时,URL 未添加到数据库中,重定向也失败。
这是我正在处理的代码:
ad_click_tracking.php
<?php
include ("admin/includes/connect.php");
mysql_select_db("$database") or die(mysql_error());
//Collecting the destination URL from the clicked link
$redirect = mysql_real_escape_string($_GET['page']);
//Insert destination URL and time stamp into MySQL
$page_insert = mysql_query("INSERT INTO ad_click_tracking (`url`, `date`) VALUES ('$redirect', now())") or die(mysql_error());
//Redirecting user to the clicked URL
header("Location: $redirect");
//Debugging to see if we collected the URL
echo "Redirect URL: $redirect";
?>
header.php(包含要跟踪的链接 - 第一个链接是内部链接,第二个链接是外部链接)
<a href="http://recyclingkansascity.com/ad_click_tracking.php?page="index.php" target="_blank"><img src="/images/header_banner/recycling_kansas_city_header.png" width="620px" height="340px" alt="Recycling Banner" title="Recycling Kansas City"></a></li>
<a href="http://recyclingkansascity.com/ad_click_tracking.php?page="http://paws4autism.org" target="_blank"><img src="/images/header_banner/funny_bunny_5k_autism_egg_hunt.png" width="620px" height="340px" alt="Paws 4 Autism" title="Paws 4 Autism Easter Event"></a></li>
当我单击内部或外部链接时,浏览器将 URL 显示为recyclingkansascity.com/ad_click_tracking.php?page=,然后当我检查数据库时,ID 已自动递增并插入时间戳,但 URL 为无效的。出于某种原因, ($_GET['page']) 似乎无法获取页面 URL,我至今无法弄清楚原因。我通读了相关的“类似问题”,但无法找到答案。
【问题讨论】:
-
ad_click_tracking.php 上的 var_dump($_GET) 给你什么?
-
您可能还想将 href="recyclingkansascity.com/…" 更改为 href="recyclingkansascity.com/ad_click_tracking.php?page=index.php" 看看是否有帮助(在 index.php 之前删除一个额外的 ")
-
你知道它非常不安全吗?只需一个小小的 url 操作,我就能得到任何东西:recyclingkansascity.com/ad_click_tracking.php?page=passwd
-
Maximus2012:切换到 var_dump 无效。正如你所建议的那样,工作是删除额外的“。这完全修复了指向内部页面的第一个链接,现在该链接可以正常工作,就像它添加到数据库一样。但这并没有修复外部链接,它导航到回收站。 com/ad_click_tracking.php?page=paws4autism.org 时单击并且不将 url 添加到数据库中。
-
aqab0N:我不知道它是不安全的,到目前为止我什至无法让它工作,哈哈。你有什么建议我可以让它更安全吗?