小编Bea*_*ean的帖子

如何在Symfony2中正确检查cookie?

我试图在我的视图中使用twig注释来检测是否已经设置了某个cookie值,但我对twig并不是很熟悉,而且它目前还没有工作.

首先,我在控制器中设置了cookie,我可以看到它存在于我的浏览器中.这是相关的PHP代码:

if (isset($_GET['accept-cookie'])) {
    setcookie("acceptCookies", "true", time() + (86400 * 300));
}
Run Code Online (Sandbox Code Playgroud)

在我的浏览器中,我可以查看cookie并确认内容已正确设置为true.

现在在我看来,我需要检查cookie是否存在,如果不存在则应显示cookie横幅.这是代码:

{% if app.request.cookies.get("acceptCookies") != null %}
    <h1>Cookies are set!</h1>
{% else %}
    <div id="cookieBanner">
        <div id="cookieContainer">
            <p>We use cookies on this website. By using this website, we'll assume that you consent to <a href="/cookies">the cookies we set.</a></p>
            <a href="?accept-cookie" class="button">Okay, continue.</a>
        </div>
    </div>
{% endif %}
Run Code Online (Sandbox Code Playgroud)

根据我读过的文档,这应该可以正常工作,但是,即使我可以看到浏览器存在于我的浏览器中,它仍会继续显示cookie横幅.

我应该如何解决这个问题呢?

php cookies symfony twig

4
推荐指数
1
解决办法
4774
查看次数

如何解决在mysql插入上的“解析期间发现非法双...值”?

一年左右的时间,我已经使用php页面将csv文件中的ebay订单导入到mysql数据库中。这是我的查询的样子:

 "INSERT INTO orders VALUES (0, {$fname}, {$lname}, {$address1}, {$address2}, {$town}, {$county}, {$postcode}, {$country}, {$tel}, {$email}, '', {$postage}, {$subtotal}, {$total}, {$basket},'', 'eBay', now(), 'GBP', 'paypal', 1, '', 1, {$txnId}) ON DUPLICATE KEY UPDATE txnid=txnid, complete=complete, new=new, time=time;";
Run Code Online (Sandbox Code Playgroud)

上周,我开始在某些订单行上收到错误“在解析过程中发现非法的double(txnId varchar)值”,这使我无法导入其他订单。

我读过一些建议,因为这是因为$ txnId值未正确定界。我尝试将其更改为'{$txnId}'和\'{$txnId}\',这都可以,但是在两种情况下,它都会导致非问题订单的txnIds带有前缀''。

谁能帮助我找到一种方法来修改查询,使我不再在某些订单上收到此错误?而且,作为奖励,任何人都可以向我确切解释此错误消息的含义,以及为什么它仅影响某些订单,因为我希望了解并解决此问题。

php mysql sql

4
推荐指数
1
解决办法
2671
查看次数

返回对象数组中具有最大值的键的最简单方法是什么?

我正在制作一个简单的RPG,并尝试计算角色升级时应增加哪个属性。它们对每个属性都有潜在的限制,我想增加距离其潜力最远的属性。

我可以遍历每个属性,并从其潜在值中减去其当前值以获得差值。然后,我可以将差异推到数组中。结果看起来像:

[
{Strength: 5},
{Dexterity: 6},
{Constitution: 3},
{Wisdom: 4},
{Charisma: 8}
]
Run Code Online (Sandbox Code Playgroud)

Charisma是差异最大的键,那么如何评估此值并返回键的名称(而不是值本身)?

编辑:这是用于获取数组的逻辑:

let difference = [];
let key;
for (key in currentAttributes) {
  difference.push({[key]: potentialAttributes[key] - currentAttributes[key]});
};
Run Code Online (Sandbox Code Playgroud)

javascript arrays sorting

0
推荐指数
1
解决办法
55
查看次数

标签 统计

php ×2

arrays ×1

cookies ×1

javascript ×1

mysql ×1

sorting ×1

sql ×1

symfony ×1

twig ×1