0

我有下面的代码,我试图使用 URL 中的参数从我的数据库中获取匹配项。我不断收到错误消息“失败”。网址如下:

http://www.examplesite.com/template.php?eventname=3506   

编码:

<?php
require_once("./source/include/membersite_config.php");

if(!$fgmembersite->CheckLogin())
{
    $fgmembersite->RedirectToURL("login.php");
    exit;
}

// Make a MySQL Connection
...

// Retrieve the variable from the url
if(!empty($_GET['eventname'])) {
    $eventname = $_GET['eventname'];
} else {
    //set default value for $eventname or maybe output an error because eventname isn't set
    echo '<p>', 'something failed', '</p>';
}
4

2 回答 2

0

旁注:不要让您通过不逃避您在查询中输入的内容来破坏数据库。

$result = mysql_query("SELECT * FROM events WHERE event_id = '$eventname'")

改用mysql_real_esape_string ($eventname)。

于 2013-01-04T20:34:20.760 回答
0

您的代码应该可以工作,除非有东西干扰了查询字符串。

第一的

替换这一行:

echo '<p>', 'something failed', '</p>';

和:

printf("<pre>Something Failed:\n%s\n</pre>", var_export($_GET, true));
exit;

这将在错误消息中包含一些有意义的数据,然后退出,这样您就不会在脚本的其余部分继续处理错误/丢失的数据。[ printf也是一个非常方便学习的函数]

第二

如果上述内容没有向您透露任何内容,请.htaccess在您的站点中查找一个文件,该文件可能具有与查询字符串混淆的 RewriteRule。

于 2013-01-04T20:04:07.210 回答