将 jQuery 的值赋给 PHP 变量

5
在同一个页面中,我单击按钮时设置了 jQuery 值。我希望在不提交表单的情况下将该值传递给同一页面中的 PHP 变量。
<input type="button" name="next"  class="next btn btn-primary" value="Proceed To Checkout Page" />

Jquery

$(".next").click(function(){
       <?php $var1="1";?>
 }

在检查php值时

<?php if(isset($var1)){
     echo $var1;
 }else{
    echo "NULL";
   }?>

每次我得到的都是空值。我犯了什么错误?提示:我无法发送Ajax请求以获取值。

1
你最好阅读这篇文章:https://dev59.com/C2Ag5IYBdhLWcg3wU5gS - Uttam Kumar Roy
3个回答

9

您无法这样做,需要了解客户端/服务器端编程的区别,您不能将Javascript值分配给PHP变量,但是您可以将PHP值分配给Javascript。

您可以使用cookies来实现此目的。

在Javascript中:

<script type="text/javascript">
    document.cookie = "var1=1";
</script>

而在PHP中

<?php 
   $phpVar =  $_COOKIE['var1'];
   echo $phpVar;
?>

0
如果您想使用jQuery和Ajax将PHP值发送到PHP页面,首先需要创建一个类型为hidden的输入文本框,将您的PHP值放入其中。当您单击时,从jQuery中的该隐藏输入类型获取该值,然后将其传递到您想要的任何页面。
请按照以下步骤进行操作。
$(".next").click(function (){

var php_val=$("#php_val").val();//it is getting value from hidden filed whose id is 'php_val'.

//make ajax call with this as follows

$.post("a.php",{php_val:php_val},function(data){

//a.php is page name where u want to send php value.
})


});
<?php $var=1; ?>
<input type="hidden" id="php_val" value="<?php echo $var; ?>"/>

我希望这回答了你的问题。


-2

这会对你有所帮助,

 <script>
 $(document).ready(function() {
 $(".next").click(function() {
    <?php echo $var     = 1 ; ?>
 });
});
</script>

<?php
  if (!empty($var)) {
     echo $var;
 }
 ?> 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接