通过HTML select元素更新Cookie

时间:2019-06-19 14:33:36

标签: php html

我想为网站构建一个“货币转换器”。现在,我正在通过PHP设置cookie。名称为“货币”,值为“ USD”。

因此,如果用户进入网站,则会设置此cookie。

if(!isset($_COOKIE['Currency'])) {
   setcookie('Currency', 'USD' ,time()+31536000, '/', '.domain.com');
   $_COOKIE['Currency'] = 'USD';
}

我现在想要实现的是,可以通过HTLM选择列表来更新cookie。

<form>
  <select id="setcurrency" name="setcurrency" />
  <option value="USD">USD</option>
  <option value="GBP">GBP</option>
  <option value="EUR">EUR</option>
</form>

我该怎么做才是最好的方法,以便更新Cookie,然后重新加载页面。所有这些都需要在PHP中完成。我可以在JQuery中做到这一点,但是PHP是必须的,而且我是菜鸟:(

非常感谢您!

2 个答案:

答案 0 :(得分:1)

如果要在PHP中使用jQuery,则可以尝试以下方法:

jQuery:

<script type="text/javascript">
    $("#setcurrency").change(function(){
       $("#formID").submit(); // you need to add form id and form method
    });
</script>

PHP:

if(isset($_POST['setcurrency'])) {
   setcookie('Currency', $_POST['setcurrency'] ,time()+31536000, '/', '.domain.com');   
}

jQuery中,首先需要在表单上使用id="formID"添加method="post",并确保代码中包含jQuery库。

在我的jQuery示例中,我只是在下拉菜单中提交表单。

然后,您可以使用PHP覆盖现有的cookie值。

答案 1 :(得分:0)

使用一个带有空白html文件的iframe,该iframe具有一个名称,该表单将对iframe的发布/获取操作定位到php文件,然后在该php文件中更新cookie怎么样?

当然,然后发布/获取表单数据的父页面将需要刷新或重新加载以读取该Cookie