Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将javascript变量从php传递回javascript_Javascript_Php_Html_Variables_Increment - Fatal编程技术网

如何将javascript变量从php传递回javascript

如何将javascript变量从php传递回javascript,javascript,php,html,variables,increment,Javascript,Php,Html,Variables,Increment,我有一个html脚本,里面有一个javascript变量,然后我将这个变量传递给一个php文件,使其递增1。我的问题是,如果我必须以某种方式保存变量以确保它与我离开网站时的更新变量相同,我不知道如何将它传递回html文件,然后显示它,我也不知道变量在网站上如何工作 html脚本: <script type="text/javascript"> var nrVar= 1; document.getElementById(

我有一个html脚本,里面有一个javascript变量,然后我将这个变量传递给一个php文件,使其递增1。我的问题是,如果我必须以某种方式保存变量以确保它与我离开网站时的更新变量相同,我不知道如何将它传递回html文件,然后显示它,我也不知道变量在网站上如何工作

html脚本:

<script type="text/javascript">

                var nrVar= 1;
                document.getElementById("nrVar").innerHTML = nrVar;
                document.getElementByID("nrVar").value = nrVar;

</script>

var-nrVar=1;
document.getElementById(“nrVar”).innerHTML=nrVar;
document.getElementByID(“nrVar”).value=nrVar;
php脚本:

    <?php 

    $nrVar= $_POST['nrVar'];

    $nrVar= round((int)$nrVar+1);

?>

假设$\u POST是通过正常的提交而不是AJAX请求发送的。我将使用PHP与站点的其余部分一起生成脚本,以定义变量值:

<script>
var nrVar = parseInt('<?php echo $_POST['nrVar']; ?>');
</script>

var nrVar=parseInt(“”);

parseInt
这里是为了确保我们得到整数值,$\u后清理也将是一个好主意,以防止xss甚至javascript直接注入。

您必须将您的javascript编号保存在表单字段中,将表单发送到PHP脚本,该编号会增加,然后在会话中发送回。接下来是代码:

increase1.php

<?php
// GET THE NUMBER FROM PHP. THE FIRST TIME IT'S JUST 1. NEXT TIMES
// THE NUMBER COMES IN SESSION INCREASED FROM PHP SCRIPT.
session_start();
if ( IsSet( $_SESSION["increased"] ) )
     $increased = (int)$_SESSION["increased"];
else $increased = 1;
?>
<html>
  <head>
    <title>Jose Manuel Abarca Rodriguez</title>
    <script type="text/javascript">

// ASSIGN VALUE TO JAVASCRIPT VARIABLE.
var my_number = <?php echo $increased; ?>;

// SEND THE FORM TO INCREASE2.PHP.
function clik () {
document.getElementById("the_number").value = my_number;
document.getElementById("frm").submit();
}
    </script>
  </head>
  <body>
    My number is = <script type="text/javascript">document.write( my_number );</script>
    <br/>
    <button onclick="clik()">Increase my number</button>

<!-- FORM TO SEND NUMBER TO PHP. -->
    <form method="post" action="increase2.php" 
          id="frm" style="display:none">
      <input type="text" id="the_number" name="the_number"/>
    </form>

  </body>
</html>
<?php
session_start();
$num = (int)$_POST["the_number"];
$_SESSION["increased"] = ++$num; // !!! NEVER $num++ !!!
header("Location: increase1.php" ); // BACK TO FIRST PAGE.
?>

我不确定您到底想做什么,但要让变量持久化,您需要服务器端的会话或数据库,或者客户端的本地存储之类的东西。我想您正在寻找
AJAX
,因此我会在相同的javascript函数中使用此代码,然后它将从php脚本中获取它?该代码将显示语法错误。注意你的引用谢谢你的回答,我已经有了一个表单,我正在将变量和其他几个变量一起传递给你,正如你在下面的脚本中看到的,你制作的脚本看起来很有效,我只是觉得有点难弄清楚如何在我自己的脚本中实现函数。html:php:该变量仍然称为nrVar。