我想为网站构建一个“货币转换器”。现在,我正在通过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是必须的,而且我是菜鸟:(
非常感谢您!
答案 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