链接点击跟踪器 - 更多问题

时间:2012-01-05 21:44:20

标签: php mysql

我得到了最后一个工作(simple outbound link tracker - Why isn't this working?),问题是空格和列名大写。

现在我正试图在没有任何运气的现有数据库中实现这一点。

这是代码(不包括mysql连接数据和混淆表名)

<?php 
$id = $_GET['ID'];

/** Increase the counter of the URL to which the user is going*/
mysql_query("UPDATE `table_name` SET countout = countout + 1 WHERE ID = '$id'") or die(mysql_error()); 

/** Retrieves URL */
$result = mysql_query("SELECT * FROM `table_name` WHERE ID = '$id'") or die(mysql_error()); 
$row = mysql_fetch_array($result); 

//redirects them to the link they clicked
header( "Location:" .$info['Url'] ); 
?>

同样重要的是,这是db表结构的屏幕截图,其中包含数据:

http://cl.ly/323A1i3L0n181P3H0J2B/Image%202012-01-05%20at%201.39.41%20PM.png

当我尝试

out.php?id=36

我得到一个空白页

编辑:@RunarJørgensen提供了修复程序。只是试图从SQL注入中保护它

1 个答案:

答案 0 :(得分:1)

您的脚本中有一些应该更正的错误。您应该在开发时启用错误,以便查看脚本无法使用的内容。

首先:变量区分大小写,如果您的链接为out.php?id=36,则应使用$_GET['id']而不是$_GET['ID']

其次:据您所见,您正在重定向到未设置的网址。您应该将标头标记编辑为如下所示:header("Location: " . $row['Url']);

您还应该了解SQL注入,并了解如何处理它们。