在JavaScript函数中用数组数据动态填充PHP cookie
Dynamically fill PHP cookie with array data in a JavaScript function
我有一个带有复选框的用户列表。每次选中复选框时,都会调用一个函数。该函数从复选框中获取userid,该userid应添加到php数组中,然后添加到cookie中。如果cookie还不存在,则应该创建它。cookie的值应该是传递给该函数(id)的JavaScript参数。
我的问题是,我不知道如何动态地实现这一点。例如,当cookie中还没有userid时,应该将其添加到变量[0]中。此外,我如何将JavaScriptID变量传递给PHP以将其设置为cookie值?
这就是我迄今为止所尝试的:
function loadUserCalendar(id) {
console.log('user selected: ' + id);
// check if user is checked or not
if($('input[value="' + id+ '"]').is(':checked')) {
console.log('user ' + id + ' is checked now');
// add user to cookie
<?php
$calendar_users = $_COOKIE['calendar_users'];
if(empty($calendar_users)) {
session_start();
setcookie("calendar_users[" + $calendar_users.length + 1 + "]", "id", time()+3600*24*30*12);
session_commit();
?>
console.log('added user to cookie');
<?php
} else {
?>
console.log('going to add user to existing cookie');
<?php
}
?>
} else {
console.log('user ' + id + ' is UN-checked now');
// remove user from cookie
}
}
感谢您的帮助!非常感谢。
如果您想将一个变量从javascript传递到php,您需要使用AJAX,并且您需要将其保存在会话或数据库中。
请记住,php是一种服务器端语言,在收到响应后,与服务器的连接将关闭。要将数据发送到服务器,您必须刷新整个页面,或者使用AJAX。
此外,javascript cookie和php cookie之间没有区别——它们是相同的。
查看此网站如何在js中设置cookiehttp://www.w3schools.com/js/js_cookies.asp
此外,如果您使用的是jquery,它会更容易:
$.cookie('somecookie', 1);
如何使用jQuery设置/取消设置cookie?
但你需要使用一个插件https://github.com/carhartl/jquery-cookie
相关文章:
- 动态填充两个下拉菜单
- 如何在Highchart中动态填充数据
- 动态填充Bootstrap选择选择器:change event dos'不起作用
- 根据手机上是否存在文件,在jQuery mobile中动态填充列表视图
- 如何在js中实现树结构类型的表单动态填充
- 动态填充复选框
- 无法使用国家/地区选择中的状态动态填充下拉列表
- 动态填充的选择列表
- Jquery Selected plugin - 由 Ajax 动态填充列表
- 在 angularjs 中动态填充的 orderby,不使用输入的第二个变量
- '使用文本区域中的字符串动态填充下拉菜单
- 读取一个动态填充的txt文件
- 动态填充字段的Jquery验证
- 如何使用服务器的JSON响应动态填充dust模板
- 使用jquery动态填充下拉列表
- 如何动态填充DataTables选择菜单
- 使用jquery解析json以构建动态填充的select
- 在AngularJS中动态填充下拉列表
- Jquery Chosen插件-通过Ajax动态填充列表时显示加载图标
- 使用数据库返回的数据动态填充下拉列表