如何将javascript变量值赋给php变量

时间:2014-02-07 05:37:15

标签: javascript php jquery html ajax

我已声明 javascript变量

 var myJavascriptVar = 12345;

无法将该值分配给 php 变量;

 $myPhpVar = 'myJavascriptVar'; 

我知道Ajax可能是我的问题的解决方案。 但我不知道如何使用Ajax并解决问题。

<html>
    <body>
        <script>
            var myJavascriptVar = 12345;
            <?php $myPhpVar='myJavascriptVar';?> 
        </script>
        <?php echo $myPhpVar; ?>
     </body>
</html>

10 个答案:

答案 0 :(得分:7)

使用Cookie是我认为更好的解决方案 -

<script> document.cookie = "myJavascriptVar = " + myJavascriptVar </script>
<?php
     $myPhpVar= $_COOKIE['myJavascriptVar'];
?>

答案 1 :(得分:1)

PHP是服务器端语言,JS是客户端。最好的方法是使用javascript创建Cookie,然后在PHP中读取该Cookie

<script type="text/javascript">
    document.cookie = "myJavascriptVar =12345";
</script>

<?php 
   $phpVar =  $_COOKIE['myJavascriptVar'];

   echo $phpVar;
?>

答案 2 :(得分:1)

$msg = "<script>var n=document.getElementById('fil').val; document.write(n);</script>";

echo $msg;

答案 3 :(得分:1)

我有一个更好的解决方案:在.php文件中,我有一个名为 javascriptVar 的变量。现在,我想将 javascriptVar 的值分配给名为 phpVar 的php变量。我只需在 script 标记中通过 document.writeln 调用 javascript 变量即可。

    <?php 
        echo "<script>
                var javascriptVar = 'success';
             </script>";
        
    
        $phpVar = "<script>document.writeln(javascriptVar);</script>";
    ?>

答案 4 :(得分:0)

我猜你可以使用cookies。

1)首先添加一个cookie jquery插件。

2)然后将该窗口宽度存储在cookie变量中。

3)使用PHP访问您的cookie,例如$ _COOKIE ['variable name']。

http://www.w3schools.com/php/php_cookies.asp

答案 5 :(得分:0)

Javascript将在客户端的浏览器中解释,您无法将其分配给在SERVER上解释的PHP变量。

可行解决方案:您可以通过ajax或表单提交来提交Javascript值。

答案 6 :(得分:0)

如果你想要一个更动态的变量分配,请尝试使用ajax和jQuery.post()。

您无法直接分配变量的原因是因为它们在不同的地方进行处理。

这就像尝试在已经烤好的蛋糕上添加鸡蛋一样,而是应该将蛋送到面包店,以便用新蛋来制作一个新蛋糕。这就是为jQuery's发布的帖子。

通过额外的数据有效负载(HTML或XML,取决于返回的内容)来请求test.php的结果。

$.post( "test.php", { name: "John", time: "2pm" })
  .done(function( data ) {
    alert( "Data Loaded: " + data );
  });

答案 7 :(得分:0)

你应该看到这些链接:

Assign Javascript value to PHP variable

Passing Javascript vars to PHP

或者您可以使用AJAX请求或POST和GET方法来实现此目的。

下面的代码段可能对您有所帮助:

<?php 
   if(isset($_POST['isSubmit']))
   {
      // do something here
      echo $_POST["name"];
   }
?> 

<form action="<?php $_SERVER['PHP_SELF'];?>" method="POST"> 
Your name: <input type="text" name="name" /> 
<input type="Submit" value="Submit" name="isSubmit"> 
</form> 

答案 8 :(得分:-1)

<html>
    <body>
        <script>
            myvar=12345;
        </script>
        <?php $var = "<script>return myvar;</script>" ?>
    </body>
</html>

答案 9 :(得分:-1)

请使用此代码,它在所有情况下都能正常工作。

<script type="text/javascript">
var width=screen.width;
</script>
<?php
     echo $myPhpVar= "<script>document.writeln(width);</script>";
?>