Javascript变量值到php变量

时间:2016-03-16 12:33:48

标签: javascript php jquery

我把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的方法

2 个答案:

答案 0 :(得分:1)

由于PHP是服务器端而JavaScript是客户端,因此您不能这样做。如果你想这样做,你应该使用jQuery和Ajax函数,“静静地”将你的值发送到服务器。

此外,您可以在此处查看示例:How to insert javascript value into the php session variableSet 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
?>