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时,路径默认为脚本设置cookie的文档路径在运行中。
如果您还希望为该路径之外的其他资源发送它,则必须在设置该 cookie 时指定限制较少的路径。
我用 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时,路径默认为脚本设置cookie的文档路径在运行中。
如果您还希望为该路径之外的其他资源发送它,则必须在设置该 cookie 时指定限制较少的路径。