我把JavaScript变量传递给PHP变量时感到困惑。然后我有php会话名称example_servey我有3个按钮与jq attr。当点击按钮时它会触发JQ click事件并将attr值传递给条件 我需要将此条件值输入会话值&更新会议
<?php
session_start();
if(!isset($_SESSION['loop_survey_2016'])){
$_SESSION["example_servey"] = "0";
}?>
<button class=" click_btn" data-status="0">btn 01 </button>
<button class=" click_btn" data-status="1">btn 02 </button>
<button class=" click_btn" data-status="2">btn 03 </button>
<script type="text/javascript">
$( document ).ready(function(e) {
$( ".click_btn " ).on( "click", function() {
var status = $(this).attr("data-status");
var session_val = '' ;
if (status == '0') {
session_val = 'empty';
} else if(status == '1') {
session_val = 'pending';
}else if(status == '2'){
session_val = 'complete';
}
<?php $_SESSION['example_servey'] ?> = session_val;
});
});
</script>
有任何纯JS的方法
答案 0 :(得分:1)
由于PHP是服务器端而JavaScript是客户端,因此您不能这样做。如果你想这样做,你应该使用jQuery和Ajax函数,“静静地”将你的值发送到服务器。
此外,您可以在此处查看示例:How to insert javascript value into the php session variable或Set Session variable using javascript
答案 1 :(得分:0)
PHP是一种服务器端语言,而Javascript是一种客户端语言,因此为了实现您所需要的,您需要通过请求将信息发送到服务器,最简单,最快捷的方法是通过在页面重新加载时提交表单并使用php获取表单参数。
所以javascript就是:
<form action="#" method="post">
<input type="hidden" value="<script>document.write(variable)</script>" name="my_var" />
<input type="submit">
</form>
<script type="text/javascript">
$( document ).ready(function(e) {
$( ".click_btn " ).on( "click", function() {
var status = $(this).attr("data-status");
var session_val = '' ;
if (status == '0') {
session_val = 'empty';
} else if(status == '1') {
session_val = 'pending';
}else if(status == '1'){
session_val = 'complete';
}
//Remove this line
<?php $_SESSION['example_servey'] ?> = session_val;
$.post( "YOUR_PHP_FILE.php", { my_var : session_val } );
});
});
</script>
而php将是:
<?php
$javascript_var = $_POST["my_var"];
// Now you can use $javascript_var as a PHP variable
?>