这是此处问题的扩展 - Create a new page for different php ORDER BY statement?
我基本上需要更改会话变量并使用php(我认为)同时刷新页面。
即。当我点击页面上的<a href="#">Sort by date<a>
时,会发生以下情况:
$_SESSION['orderby']; = 'date';
页面刷新
然后会更改会话变量并在我的代码中稍后使用。
我可能需要使用javascript?我不太确定,我该怎么做?
修改
我不希望/需要重定向到另一个页面,只需要刷新页面。基本上我需要点击链接(或按钮),需要更改php变量。
AJAX可能吗?
答案 0 :(得分:1)
您可以做的是将GET
- 值附加到URL并使用PHP获取该值。
例如:
<!-- HTML -->
Sort by <a href='?sort=date'>date</a>
// PHP:
if (isset($_GET['sort'])) {
$_SESSION['orderby'] = $_GET['sort'];
}
此外,您可以检查GET
- 值是否在给定数组中(以避免来自url操作的错误):
if (isset($_GET['sort'])) {
$sorts = array('date', 'ranking', 'page'); // ...
$_SESSION['orderby'] = (in_array($_GET['sort'], $sorts) ? $_GET['sort'] : 'STANDARD SORT');
}
答案 1 :(得分:0)
使用ajax将你的var发送到php文件以更新会话
$.ajax({
type: 'POST',
url: 'date.php',
data: {'date':date},
success: function(result) {
console.log(result)
}
});
date.php
<?php
session_start();
if(isset($_POST['date'])){
$_SESSION['date'] = $_POST['date'];
echo 'Date set to: '.$_SESSION['date'];
}
}