我使用以下代码创建了一个带有javascript的cookie:
$('#solicita').click(function(){
document.cookie = 'courseId=<?php echo $course[id]?>';
$('#myModal').modal('show');
});
这会创建一个名为courseId的cookie,其值为。 然后我尝试使用以下php代码读取cookie:
if(isset($_COOKIE['courseId'])) {
$course = ORM::for_table('courses')->find_one($_COOKIE['courseId']);
...
}
但是isset($ _ COOKIE ['courseId']总是假的。这个代码一直工作到上周我改变了我的.htaccess以便有一个友好的链接。这是我添加到我的.htaccess的代码:< / p>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteEngine On
RewriteBase /peppers/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^cp/artes-escenicas/([^/]+)/?$ cp/course-details.php?name=$1 [NC,L]
RewriteRule ^cp/ciencia-y-tecnologia/([^/]+)/?$ cp/course-details.php?name=$1 [NC,L]
RewriteRule ^cp/arte-y-diseno/([^/]+)/?$ cp/course-details.php?name=$1 [NC,L]
RewriteRule ^cp/deportes/([^/]+)/?$ cp/course-details.php?name=$1 [NC,L]
RewriteRule ^cp/idiomas/([^/]+)/?$ cp/course-details.php?name=$1 [NC,L]
RewriteRule ^cp/academico/([^/]+)/?$ cp/course-details.php?name=$1 [NC,L]
RewriteRule ^cp/rutas/([^/]+)/?$ cp/course-details.php?name=$1 [NC,L]
RewriteRule ^cp/voluntariado/([^/]+)/?$ cp/course-details.php?name=$1 [NC,L]
请帮忙
更新
答案 0 :(得分:1)
Cookie仅限于某个路径,只有在请求的URL位于该路径内时,才会由浏览器再次发送。
您可以在屏幕截图中看到您的Cookie的路径值为/peppers/cp/artes-escenicas
。通过JavaScript设置cookie时,路径默认为运行cookie的脚本设置的文档路径。
如果您希望将其发送到该路径之外的其他资源,则必须在设置该Cookie时指定限制较少的路径。