2014-02-22 49 views
0

我试图在用户单击div元素时更改PHP会话变量的值。

页面上有几个div元素,每个元素都会将会话变量更改为不同的值。

目前我在第一个div下面有下面的代码作为测试,但不能让它改变变量的值。

<div class="workpiece" onclick="<?php $_SESSION['pageRef'] = 1; ?>">  

我非常感谢任何帮助,因为我对此很陌生。

谢谢

+0

你使用的是MVC架构还是核心PHP? – Daenarys

+0

我正在使用核心PHP – user3340589

+0

请尝试使用以下答案中提到的ajax请求来实现它。 – Daenarys

回答

1

您正在将服务器端代码放在客户端脚本中。您不能这样做,因为服务器端代码在发送到浏览器之前执行。你可以做的是在点击时向PHP脚本发送ajax请求。

<script> 
function sendajax() { 
    $.post('scriptforsession.php', {}, function(response) { 
     console.log(response); 
    }); 
} 
</script> 

onclick='sendajax();' 
+0

所以我需要一个单独的php页面来改变$ _SESSION值?如果onclick是:onclick ='sendajax(1);' ? – user3340589

+0

或者一个页面,然后在post请求的数据部分放置这个:{action:“pageRef”}。然后你可以有一个多用途的脚本,通过$ _POST ['action']执行代码。 –

+0

@ user3340589 - 为什么需要将整数1传递给sendajax函数? –

1

Ajax将是一个解决方案,但我认为你正在尝试的也可以通过简单地把页面引用放在GET中来处理。虽然这会使页面重新加载。然后在你的PHP中简单使用$ _GET ['pageRef']

<div class="workpiece" onclick="window.location='?pageRef=1';">  
相关问题