【发布时间】:2015-12-08 20:33:49
【问题描述】:
我正在尝试为那些讨厌的 cookie 创建一个在 php 中混合 javascript 的函数。这是一个有效的方法;
function CookieSet($name,$value){
$exp=date('D, d M Y G:i:s e', strtotime('midnight + 1days'));
print("<script language=\"javascript\" type=\"text/javascript\">");
print("document.cookie = \"".$name."=".$value."; expires=".$exp.";\";");
print("</script>");
}
我有一个类似的功能,使用相同的方法来删除 cookie(将时间重置为过期)。我需要以类似的方式获取 php 中返回的 cookie 信息。我创建了以下函数,但似乎可以让它工作 - php 不喜欢它。我确定它在某处标点符号,但似乎找不到它。
function CookieGet($name) {
print("<script language='javascript' type='text/javascript'>");
print("var name = ".$name." + \"=\";");
print("var ca = document.cookie.split(';');");
print("for(var i=0; i<ca.length; i++) {");
print("var c = ca[i];");
print("while (c.charAt(0)==' ') c = c.substring(1);");
print("if (c.indexOf(name) == 0) ".$str=." c.substring(name.length, c.length);");
print("}");
print("</script>");
return $str;
}
整个程序用于向多个站点提供一个小部件。使用纯 PHP cookie 支持,cookie 域设置为源域。通过 Javascript 创建 cookie 将 cookie 域设置为目标域。我很清楚 Javascript 在浏览器中运行,而 PHP 在服务器端运行。我正在尝试解决跨域 cookie 问题。是的,我已经查看了其他相关解决方案。如果不是远程交付,这将不是问题。
感谢任何帮助。
【问题讨论】:
-
你说你知道php是服务器端而javascript是客户端但是你试图通过生成javascript来获取php中的cookie。
标签: javascript php cookies