获取唯一的URL代码并放入PHP会话中

时间:2012-03-05 10:22:42

标签: php session url get isset

当用户访问我的网站并在页面中使用它时,我正在尝试从网址中检索“广告系列”代码。然后,此广告系列代码将存储在其他所访问页面的会话中,因此,如果用户浏览该网站,则不会丢失该代码。当然,如果访问的用户在网址中没有“广告系列”代码(比如他们来自Google),那么我想为他们分配默认代码。我认为我已经掌握了以下内容,因为它似乎可以在我的服务器上运行,但不确定它是否代码太重和/或存在安全风险。

<?php
session_start(); // starts the PHP session data

if ( isset( $_GET['campaign'] ) ) // check if there is a 'campaign' code in the URL as a variable
{
    $campaign = $_GET['campaign']; // first, if there is a 'campaign' code in the URL use that$campaign = 
}
elseif ( isset( $_SESSION['campaign'] ) ) // if no campaign code is in the URL but there is session data for the 'campaign' code use that - usually on other pages on the same server
{
    $campaign = $_SESSION['campaign'];
}
else // Otherwise, if no campaign code is either in the URL or session data, use the default 'campaign' code
{
    $campaign = "test1";
}

//save the 'campaign' value in a session
$_SESSION['campaign'] = $campaign; // store session data
?>

然后,无论我想在页面中添加广告系列代码,我都会使用:

<?php echo $campaign; ?>

提前感谢您的回答。

1 个答案:

答案 0 :(得分:0)

这取决于您以后使用此值的原因。例如,如果您将会话存储在数据库中,并且还有该值的字段,则需要先将其转义。没有看到任何其他可能的风险,代码。