我试图在用户单击div
元素时更改PHP会话变量的值。
页面上有几个div元素,每个元素都会将会话变量更改为不同的值。
目前我在第一个div下面有下面的代码作为测试,但不能让它改变变量的值。
<div class="workpiece" onclick="<?php $_SESSION['pageRef'] = 1; ?>">
我非常感谢任何帮助,因为我对此很陌生。
谢谢
我试图在用户单击div
元素时更改PHP会话变量的值。
页面上有几个div元素,每个元素都会将会话变量更改为不同的值。
目前我在第一个div下面有下面的代码作为测试,但不能让它改变变量的值。
<div class="workpiece" onclick="<?php $_SESSION['pageRef'] = 1; ?>">
我非常感谢任何帮助,因为我对此很陌生。
谢谢
您正在将服务器端代码放在客户端脚本中。您不能这样做,因为服务器端代码在发送到浏览器之前执行。你可以做的是在点击时向PHP脚本发送ajax请求。
<script>
function sendajax() {
$.post('scriptforsession.php', {}, function(response) {
console.log(response);
});
}
</script>
onclick='sendajax();'
所以我需要一个单独的php页面来改变$ _SESSION值?如果onclick是:onclick ='sendajax(1);' ? – user3340589
或者一个页面,然后在post请求的数据部分放置这个:{action:“pageRef”}。然后你可以有一个多用途的脚本,通过$ _POST ['action']执行代码。 –
@ user3340589 - 为什么需要将整数1传递给sendajax函数? –
Ajax将是一个解决方案,但我认为你正在尝试的也可以通过简单地把页面引用放在GET中来处理。虽然这会使页面重新加载。然后在你的PHP中简单使用$ _GET ['pageRef']
<div class="workpiece" onclick="window.location='?pageRef=1';">
你使用的是MVC架构还是核心PHP? – Daenarys
我正在使用核心PHP – user3340589
请尝试使用以下答案中提到的ajax请求来实现它。 – Daenarys