PHP 获取 cookie 值

PHP get cookie value

我用 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:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ .php [NC,L]

RewriteEngine On
RewriteBase /peppers/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^cp/artes-escenicas/([^/]+)/?$ cp/course-details.php?name= [NC,L]
RewriteRule ^cp/ciencia-y-tecnologia/([^/]+)/?$ cp/course-details.php?name= [NC,L]
RewriteRule ^cp/arte-y-diseno/([^/]+)/?$ cp/course-details.php?name= [NC,L]
RewriteRule ^cp/deportes/([^/]+)/?$ cp/course-details.php?name= [NC,L]
RewriteRule ^cp/idiomas/([^/]+)/?$ cp/course-details.php?name= [NC,L]
RewriteRule ^cp/academico/([^/]+)/?$ cp/course-details.php?name= [NC,L]
RewriteRule ^cp/rutas/([^/]+)/?$ cp/course-details.php?name= [NC,L]
RewriteRule ^cp/voluntariado/([^/]+)/?$ cp/course-details.php?name= [NC,L]

请帮忙

更新


Cookie 仅限于特定路径,只有当请求的 URL 位于该路径内时,浏览器才会再次发送。

您可以在屏幕截图中看到您的 cookie 的路径值为 /peppers/cp/artes-escenicas。通过JavaScript设置cookie时,路径默认为脚本设置co​​okie的文档路径在运行中。

如果您还希望为该路径之外的其他资源发送它,则必须在设置该 cookie 时指定限制较少的路径。