获取一个javascript变量到PHP变量

获取一个javascript变量到PHP变量,javascript,php,mysql,Javascript,Php,Mysql,我有一个代码,我必须把PHP变量放在JS中,以其他方式放在同一个文件中 从PHP到JS没有问题,但是从JS到PHP有点困难 也许你能帮忙 <?php if($freischaltung==1){ ?> <tr><th><a type="button" name="msg" href="Nachrichten.php?ID=<?php echo $id; ?>">Nachricht senden</a></th>

我有一个代码,我必须把PHP变量放在JS中,以其他方式放在同一个文件中

从PHP到JS没有问题,但是从JS到PHP有点困难

也许你能帮忙

<?php 
 if($freischaltung==1){
?>
<tr><th><a type="button" name="msg" href="Nachrichten.php?ID=<?php echo $id; ?>">Nachricht senden</a></th></tr> 
<tr><th>
<?php 
  } else {
?>
<button onclick="freischalten()">Freischalten</button>
<p id="FreischaltungAusgabe"></p>
<?php
   echo "<script>
    var krone =".$kronen.";
   </script>";
?>          
<script>
  function freischalten() {
    var x;
    if (confirm("Das Freischalten kostet dich 2 Kronen!") == true) {
        krone = krone -2;
        if(krone<2){
          x = "Du hast zu wenige Kronen um eine Freischaltung durchzuführen!";
         document.getElementById("FreischaltungAusgabe").innerHTML = x;
        } else {
         x = "Erfolgreich freigeschaltet! Restliche Kronen = "+krone;
         $freischalten = 1; // This should be a PHP Variable
         //Also I want to do at this part a INSERT INTO friends Where....
        document.getElementById("FreischaltungAusgabe").innerHTML = x;
      }
    } else {
     x = "Vielleicht beim nächsten mal!";
     document.getElementById("FreischaltungAusgabe").innerHTML = x;
    }
}
</script>

弗赖斯卡尔滕

函数freischalten(){ var x; 如果(确认(“Das Freischalten kostet Dic 2 Kronen!”)==true){ 克朗=克朗-2;
如果(kroneJS是客户端语言,PHP是服务器端语言。您不能将JS变量直接设置为PHP变量。请使用隐藏形式或Ajax在PHP变量中获取JS变量。

JS是客户端语言,PHP是服务器端语言。您不能将JS变量直接设置为PHP变量。请使用隐藏形式或Ajax获取JS变量n一个PHP变量。

我很确定您想要做的是可能的,但是您必须重新加载页面,或者使用ajax调用,或者刷新角色页面

默认情况下,网页是静态的,在浏览器加载页面后,页面会按原样显示,您可以激活javascript和其他内容,但要将JS变量解析为PHP,您必须提交表单或使用Ajax调用另一个PHP脚本,并将结果返回到当前页面

根据:

AJAX是开发人员的梦想,因为您可以:

  • 在不重新加载网页的情况下更新网页
  • 从服务器请求数据-页面加载后
  • 从服务器接收数据-页面加载后
  • 在后台向服务器发送数据
您应该在主php表单中执行以下操作:

function parseVariable() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
     // the element this.responseText will be all the content returned by your php script called by the xhttp.open
     document.getElementById("myelement").innerHTML = this.responseText;
    }
  };
  // the method can be either GET or POST
  xhttp.open("GET", "myphpscript.php?myvariable=" + document.getElementById("myfield").value , true);
  xhttp.send();
}
之后,必须使用javascript在HTML中调用
parseVariable()
函数

<input type="text" name="myfield" id="myfield">
<button type="button" onclick="parseVariable()">Parse</button>
<p id="myelement">&nbsp;</p>

我非常确定您想要做的是可能的,但是您必须重新加载页面,或者使用ajax调用,或者刷新角色页面

默认情况下,网页是静态的,在浏览器加载页面后,页面会按原样显示,您可以激活javascript和其他内容,但要将JS变量解析为PHP,您必须提交表单或使用Ajax调用另一个PHP脚本,并将结果返回到当前页面

根据:

AJAX是开发人员的梦想,因为您可以:

  • 在不重新加载网页的情况下更新网页
  • 从服务器请求数据-页面加载后
  • 从服务器接收数据-页面加载后
  • 在后台向服务器发送数据
您应该在主php表单中执行以下操作:

function parseVariable() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
     // the element this.responseText will be all the content returned by your php script called by the xhttp.open
     document.getElementById("myelement").innerHTML = this.responseText;
    }
  };
  // the method can be either GET or POST
  xhttp.open("GET", "myphpscript.php?myvariable=" + document.getElementById("myfield").value , true);
  xhttp.send();
}
之后,必须使用javascript在HTML中调用
parseVariable()
函数

<input type="text" name="myfield" id="myfield">
<button type="button" onclick="parseVariable()">Parse</button>
<p id="myelement">&nbsp;</p>

你的设计…基本上是错误的。当你需要像这样混合JS和PHP时,你应该回到绘图表,重新思考你在做什么。也许,你应该做的是保留JS(不,你应该确保你的JS在一个单独的外部文件中,并在JS中捕获点击/事件,而不是使用onclick和类似的东西),并使用AJAX向PHP发送/接收信息。您可以通过AJAX保存值并将其保存到会话中,或者尝试将其保存到Cookies中。您应该通过AJAX将值发送到适当的PHP代码文件PHP存在于服务器上,javascript存在于浏览器中(实际上是任何Web客户端,如手机甚至桌面),当你想与他们交流时,你发送/接收HTTP请求/响应:)你的设计…基本上是错误的。当你需要像这样混合JS和PHP时,你应该回到绘图表,重新思考你在做什么。也许,你应该做的是保留JS(不,您应该确保您的js位于单个外部文件中,并在js中捕获单击/事件,而不是使用onclick和类似的东西),并使用AJAX向PHP发送/接收信息。您可以通过AJAX保存值并将其保存到会话中,或者尝试将其保存到Cookies中。您应该通过AJAX将值发送到适当的PHP代码文件PHP存在于服务器上,javascript存在于浏览器中(实际上是任何Web客户端,如手机甚至桌面),当您想要与他们通信时,您可以发送/接收HTTP请求/响应:)