传递javascript变量以在PHP中设置时区
Passing javascript variable to set timezone in PHP
在我的网站上每个页面上都包含的导航栏.php文件中,我想为每个用户设置时区。我找到了一个非常适合我的好 js 脚本。我可以回显变量,它正确地将"欧洲/布鲁塞尔"标识为我的时区。现在我希望能够将此时区变量设置为 PHP 中的时区。这是我目前在导航栏.php文件中的代码片段,但它不起作用。
<script type="text/javascript" src="domain/js/jstz.js"></script>
<script>
$.ajax({
var tz = jstz.determine();
var tzname = tz.name();
'url': 'navbar.php',
'type': 'POST',
'data': 'timezone=' + tzname
});
</script>
<?php
$usertimezone = $_POST['timezone'];
date_default_timezone_set($usertimezone);
?>
有人能看到它有什么问题并帮助我吗?谢谢!
问题是时区是在页面加载后设置的。主页脚本始终使用默认的 php 时区设置。
您应该将时区值存储到会话变量中:
navbar.php:
<?php
session_start();
$usertimezone = $_POST['timezone'];
$_SESSION['timezone'] = $usertimezone;
?>
main.php
(加载整个初始页面的脚本)
<?php
session_start();
if (isset($_SESSION['timezone'])) {
date_default_timezone_set($_SESSION['timezone']);
}
?>
相关文章:
- 分析特定区域设置(而不是时区!)中的日期字符串
- 更改默认时区后,如何在本地时间设置时刻格式
- 如何在时间标签和相同的类中以UTC格式重新格式化ISO 8601时间戳,并通过JavaScript根据用户区域设置和时区
- 如何使用momentjs将澳大利亚/墨尔本时区设置为倒计时计时器
- 使用JS检查用户是否在EST时区和设置的EST时间范围内
- 用javascript设置浏览器窗口的默认时区
- 在Protractor测试中设置浏览器时区
- 情节.js为类型设置时区:“日期”
- 在首次页面加载之前设置时区 Cookie
- 传递javascript变量以在PHP中设置时区
- 为时区设置 AngularJS 全局配置
- 如何根据Node.js中的post参数之一为所有请求设置时区
- 在Protractor e2e测试中设置时区
- 使用moment.js在javascript中显示json中的日期时间,而不格式化为区域设置时区
- 如何在js中为日期选择器而不是浏览器设置时区
- 使用Javascript检测区域设置/时区
- 如何动态设置时区为客户端时区
- 在任何时间日期选择器中以编程方式设置时区偏移量
- 为YUI日历插件设置时区
- 使用javascript从客户端在Rails上设置时区