首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >优化php控件结构

优化php控件结构
EN

Stack Overflow用户
提问于 2018-06-07 06:32:42
回答 2查看 45关注 0票数 0

我有以下问题。我尝试将获取UTM参数和检查cookie是否设置在相同的if中相结合,但最终以错误告终。

/index?utm_source=icework

下面是4个if语句。

用于检查URL参数并设置隐藏表单的

如果(!isset($_GET' UTM _source')) { $UTM_Source = "";}

  • 如果通过URL传递UTM,则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.隐藏表单域

代码语言:javascript
复制
<input type="hidden" id="atUTM_Source" name="atUTM_Source" value="<?php echo strtolower($UTM_Source) ?>"/>

有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2018-06-07 06:43:23

您可以在代码中使用三元运算符方法。简单地说:

代码语言:javascript
复制
$UTM_Source = (isset($_GET['utm_source'])) ? $_GET['utm_source'] : "";
$UTM_Source_Cookie = (isset($_COOKIE['adtrack_UTM_Source'])) ? "icework" : "";
票数 1
EN

Stack Overflow用户

发布于 2018-06-07 08:13:03

假设您更喜欢$_COOKIE源代码而不是$_GET源代码,否则只需交换以下语句:

代码语言:javascript
复制
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
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50730544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档