将URL参数传递给PHP变量

时间:2013-01-04 19:56:21

标签: php variables get

我有以下代码,我尝试使用URL中的参数从我的数据库中获取匹配项。我不断收到错误消息“失败了”。该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>';
}

2 个答案:

答案 0 :(得分:0)

您的代码应该有效,除非某些内容干扰了查询字符串。

<强>第一

替换此行:

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

使用:

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

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

<强>第二

如果以上内容没有向您显示任何内容,请在您的网站中查找可能包含RewriteRule的.htaccess文件,该文件正在弄乱查询字符串。

答案 1 :(得分:0)

附注:不要通过不转发您在查询中放置的内容来破坏数据库。

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

改为使用mysql_real_esape_string($ eventname)。

相关问题