1

我正在尝试为 GPT 脚本构建一个通用的回发系统,但是我遇到了一些问题。

我不确定PHP中是否允许我所做的事情,所以这可能是问题所在,但这就是我得到的:

$ip = cleanQuery($_SERVER['REMOTE_ADDR']);
$getaffip = mysql_query("SELECT * FROM affiliates WHERE affip = '".$ip."' OR affip2 = '".$ip."' OR affip3 = '".$ip."' OR affip4 = '".$ip."'");
$affinfo = mysql_fetch_array($getaffip);

$affname = $affinfo['name'];
$campidi = $affinfo['campid'];
$subidi = $affinfo['subid'];
$ratei = $affinfo['rateid'];
$statusi = $affinfo['creditstatus'];
$credit = $affinfo['creditid'];
$reverse = $affinfo['reverseid'];

$subid = cleanQuery($_GET['$subidi']);
$rate = cleanQuery($_GET['$ratei']);
$status = cleanQuery($_GET['$statusi']);
$campid = cleanQuery($_GET['$campidi']);

这意味着它正在提取特定会员在将信息发送到您的回发时使用的变量,例如,他们会将其发送到回发 URL:

http://yoursite.com/postback/postback.php?campaignid=11546&yti=me&credit=1

提取将$affinfo提取特定会员发送的定义信息,如上面链接$subidi中发布的会员将是yti并且$campidi将是campaignid,但$_GET不会提取该信息。如果我将其更改为$_GET['yti']; 在这种情况下,但这不会使其具有普遍性,因为所有附属公司在将信息发送到回发脚本时不会使用相同的变量。

我在想$_GET不支持$values,那么让它获得正确信息的最佳途径是什么,或者我只是在这里有一些我忽略的错字?

4

3 回答 3

7

如果它们是变量,请不要引用键:

$subid = cleanQuery($_GET[$subidi]);
$rate = cleanQuery($_GET[$ratei]);
$status = cleanQuery($_GET[$statusi]);
$campid = cleanQuery($_GET[$campidi]);

如果您使用双引号而不是单引号,它会起作用,但是不必要地引用变量是没有意义和糟糕的做法。变量将被插在双引号内,最终给出你想要的结果。

于 2012-06-27T18:16:19.620 回答
5

引用太多:) 应该是这样的:

$subid = cleanQuery($_GET[$subidi]);
$rate = cleanQuery($_GET[$ratei]);
$status = cleanQuery($_GET[$statusi]);
$campid = cleanQuery($_GET[$campidi]);
于 2012-06-27T18:16:41.550 回答
4

不计算单引号中的变量。双引号是。

$foo = 'var';
echo 'my $foo'; // my $foo
echo "my $foo"; // my var

但是在这种情况下你不应该使用任何引号

于 2012-06-27T18:16:14.007 回答