单击链接时更改会话变量
change session variable when clicking on link
这是这里问题的扩展 - 为不同的 php ORDER BY 语句创建一个新页面?
我基本上需要更改会话变量并使用 php 同时刷新页面(我认为)。
即,当我单击页面上的<a href="#">Sort by date<a>
时,会发生以下情况:
-
$_SESSION['orderby']; = 'date';
-
页面刷新
然后,会话变量将被更改并稍后在我的代码中使用。
我可能需要使用 javascript?我不太确定,我该怎么做?
编辑
我不想/不需要重定向到另一个页面,该页面只需要刷新。基本上我需要单击链接(或按钮),并且需要更改 php 变量。
也许是阿贾克斯?
你可以做的是将一个GET
值附加到URL并使用PHP获取它。
例如:
<!-- HTML -->
Sort by <a href='?sort=date'>date</a>
// PHP:
if (isset($_GET['sort'])) {
$_SESSION['orderby'] = $_GET['sort'];
}
此外,您可以检查 GET
-value 是否在给定数组中(以避免 url 操作错误):
if (isset($_GET['sort'])) {
$sorts = array('date', 'ranking', 'page'); // ...
$_SESSION['orderby'] = (in_array($_GET['sort'], $sorts) ? $_GET['sort'] : 'STANDARD SORT');
}
使用 ajax 将您的 var 发送到 php 文件以更新会话
$.ajax({
type: 'POST',
url: 'date.php',
data: {'date':date},
success: function(result) {
console.log(result)
}
});
日期.php
<?php
session_start();
if(isset($_POST['date'])){
$_SESSION['date'] = $_POST['date'];
echo 'Date set to: '.$_SESSION['date'];
}
}
相关文章:
- 将会话变量从一个页面传递到另一个页面
- 如何使用 php 会话变量作为 Angular Js 数据
- 通过Javascript更改PHP会话变量
- 正在Javascript响应中设置会话变量
- 将会话变量与javascript变量进行比较
- 我在会话变量中传递了一个数组.我需要将关键笔划传递给它以返回值
- 无法获取php会话变量以在javascript中设置var
- 使用Jquery在页面加载上测试php会话变量
- 移动浏览器没有;t支持会话变量
- 如果JS会话变量为null,如何避免500内部服务器错误
- 带有 Meteor 的通用会话变量键模板助手
- 使用 Javascript 或 jQuery 检索会话变量的简单快捷的方法
- 设置会话变量并从Jquery更改页面
- Meteor会话变量未存储数组
- PHP未通过javascript代码访问会话变量集
- 调用外部JavaScript文件中的会话变量
- 用户使用会话变量登录
- 通过AJAX将会话变量传递到PHP文件
- 更新图像切换上的php会话变量
- 为什么php页面刷新发布会话变量