没有正确地从html(js)检索cookie值到php文件

时间:2014-08-21 18:37:35

标签: javascript php cookies

好吧,所以,我已经到了我的脑袋即将爆炸的地步,所以我想有人可能知道我的问题是什么。我有一个带有选择列表的html表单。现在,在表单提交上,我想用选择列表中的选定值(使用javascript)设置一个cookie,并在php文件中读取它并将其值用于另一个变量。当我从下拉列表中选择其中一个选项并单击提交时,没有任何更改,就好像传递了相同的值....我不知道我哪里出错。

HTML + JS:

<form action="CalendarFeeder3.php" name="cf" method="post">
    <select name="myvalue" id="SelectTimeZone" name="cfd">
        <option value="Africa/Abidjan">Africa/Abidjan</option>
        <option value="Africa/Accra">Africa/Accra</option>
        <option value="Africa/Addis_Ababa">Africa/Addis_Ababa</option>
        <option value="Africa/Algiers">Africa/Algiers</option>
    </select>
<input type="submit" onClick="createCookie('cookieee',selectedValue,'500')">

JS:

function createCookie(name,value,days) {
            if (days) {
                var date = new Date();
                date.setTime(date.getTime()+(days*24*60*60*1000));
                var expires = "; expires="+date.toGMTString();
            }
            else var expires = "";
            document.cookie = name+"="+value+expires+"; path=/"+"; domain=.<?php echo $_SERVER['HTTP_HOST']; ?>";

            var selectedValue = document.getElementById("SelectTimeZone").value;
        }

PHP:

$kookie = $_COOKIE[_cookieee];
date_default_timezone_set($kookie);

2 个答案:

答案 0 :(得分:1)

您是否检查过浏览器以确保实际设置了Cookie?我接下来会这样做......

最后,我将在javascript中删除Cookie中域名部分的路径。浏览器会尝试将其浏览的域与该值进行匹配,因此/ fillerexample部分可能会将其绊倒吗?

答案 1 :(得分:0)

是完整的html / js代码吗?

因为我看不到你给“selectedValue”赋值的位置

也许值500作为字符串传递的事实?我不记得javascript是如何处理的,但我确信它并不好。尝试没有引用。

所以,总结一下,试试:

onclick=" var sel = document.getElementById('SelectTimeZone'); createCookie('cookieee',sel.options[sel.selectedIndex].value ,500); "

对于PHP方面,我会选择$kookie = $_COOKIE['cookieee'];

根据marty的建议,删除Cookie的域名部分。