如何将javascript变量的值存储到php变量中?

时间:2014-01-12 07:08:39

标签: javascript php html

我需要将值从javascript传递给php。我怎么能实现这个,因为一个在客户端运行,另一个在服务器上运行?或其他任何替代方案?我是编程的新手,所以如果我错了,请提出正确的建议。

<html> 
    <head>
       <SCRIPT language="JavaScript"> 

          var q1=Math.floor(Math.random()*11) 
          <?php 
             $ff =  q1; 
          ?>
       </SCRIPT> 

    </head> 

    <body> 
       <?php 
          echo $ff ; 
       ?> 
    </body> 
</html> 

5 个答案:

答案 0 :(得分:3)

由于PHP代码(服务器端)在javascript代码(客户端)之前运行/解析是不可能的。所以尽管可以反转,你所做的事情是不可能的。您也可以使用:

  • 的Ajax
  • 隐藏表格字段
  • 查询字符串变量(通过网址)

将javascipt变量值发送到php。

答案 1 :(得分:2)

PHP是服务器端语言,用于在HTML中呈现输出,因此您可以将JavaScript变量中的PHP变量而不是JavaScript分配给php,您可以通过AJAX将JavaScript变量发送到服务器

试试这种方式

<SCRIPT language="JavaScript"> 
var q1=Math.floor(Math.random()*11) 
function sendAJAX(q1)
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
         alert('posted value' + xmlhttp.responseText);
    }
  }
xmlhttp.open("GET","http://yourdomain.com/?q=" + q1 ,true);
xmlhttp.send();
}
</SCRIPT>

在PHP代码中

<?php 
$ff = $_GET['q'];
echo $ff;
?>

答案 2 :(得分:1)

HTML文件:

<script src='http://code.jquery.com/jquery-1.10.2.min.js'></script>
<script>
var q1=Math.floor(Math.random()*11);
$(document).ready(function(){
    $.ajax({url:"ajax.php",data: {"q1":q1}}).done(function(data){console.log(data)});
});
</script>

PHP文件:ajax.php

<?php
$ff = filter_input(INPUT_GET, 'q1', FILTER_VALIDATE_INT);
echo $ff;
?>

参考文献:

jquery

PHP

答案 3 :(得分:0)

you can use like this.

<html> 
    <head>
      <script type="text/javascript">
          var q1="hello"; 

          <?php 
             $ff ="<script>document.write(q1)</script>";             
          ?>
       </script>
   </head>
<body>
<?php echo $ff; ?>
 </body> 
</html> 

答案 4 :(得分:0)

  $userdata = get( 1 from "users" where user = "$_SESSION['user']"); //don't mind the get function. Use your own QUERIES. Just mind the logic. 
  $post_access = $userdata['post_access']; 
  if($post_acess == 1){
     //post the data
  }else{
     //Bro you are blocked
  }