我有以下问题。我试图结合获取UTM参数并检查cookie是否设置在相同的if中,但最终出错了。
/index?utm_source=icework
这是4个if语句。
检查网址参数并设置隐藏表单
if (!isset($_GET['utm_source'])) {
$UTM_Source = "";
}
如果UTM是通过URL传递的,则有一个函数set会创建一个cookie。 Cookie名称为adtrack_UTM_Source。如果确实存在,请将该字段留空。
if (!isset($_COOKIE['adtrack_UTM_Source'])) {
$UTM_Source = "";
}
如果传递了utm源,请使用utm值
设置字段值if ( isset($_GET['utm_source'] ) ) {
$UTM_Source = $_GET['utm_source'];
}
如果存在cookie以再次设置字段的值。
if (isset($_COOKIE['adtrack_UTM_Source'])) {
$UTM_Source = "icework";
}
II。隐藏表格字段
<input type="hidden" id="atUTM_Source" name="atUTM_Source" value="<?php echo strtolower($UTM_Source) ?>"/>
有什么建议吗?
答案 0 :(得分:1)
您可以在代码中使用三元运算符方法。简单地:
$UTM_Source = (isset($_GET['utm_source'])) ? $_GET['utm_source'] : "";
$UTM_Source_Cookie = (isset($_COOKIE['adtrack_UTM_Source'])) ? "icework" : "";
答案 1 :(得分:0)
假设您更喜欢$_COOKIE
来源$_GET
来源,否则只需交换语句:
if( isset($_COOKIE['adtrack_UTM_Source']) ) {
$UTM_Source = $_COOKIE['adtrack_UTM_Source'];
} else if( isset($_GET['utm_source']) ) {
$UTM_Source = $_GET['utm_source'];
} else {
$UTM_Source = ''; // or whatever default you want
}