Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.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
php值不为';javascript中的不可更改_Javascript_Php_Counter - Fatal编程技术网

php值不为';javascript中的不可更改

php值不为';javascript中的不可更改,javascript,php,counter,Javascript,Php,Counter,我有一个javascript计数器。如果计数器=0,则价格会发生变化。我想分配php变量的javascript价格变量值。但在php中,价格上涨一次就够了 <?php global $p; $p = 1000; ?> var pr = <?php echo $p;?>; function downCounter(tim) { var t; counter=tim-1; var elem=document.getElementById('count

我有一个javascript计数器。如果计数器=0,则价格会发生变化。我想分配php变量的javascript价格变量值。但在php中,价格上涨一次就够了

<?php global $p; $p = 1000; ?>

var pr = <?php echo $p;?>;
function downCounter(tim)
{
    var t;
    counter=tim-1;
    var elem=document.getElementById('counter');
    var price= document.getElementById('price');
    var days    = parseInt(counter / 86400),   
    hours   = parseInt(counter / 3600) % 24,   
    minutes = parseInt(counter / 60) % 60,   
    seconds = counter % 60,  
    hours   = (hours < 10) ? '0' + hours : hours;   
    minutes = (minutes < 10) ? '0' + minutes : minutes;   
    seconds = (seconds < 10) ? '0' + seconds : seconds;   
    elem.innerHTML=(days ? days + dayname : '') + hours + ':' + minutes + ':' + seconds;
    price.innerHTML=(pr);

    if (counter==0)
    {
        downCounter('43200');
        <?php $p += 500; ?> <-- works once
        pr = <?php echo $p; ?>;
    } else {
        clearTimeout(t);
        t=setTimeout("downCounter('+"+(tim-1)+"')", 1000);
    }
    return false;
}
downCounter('43200');
</script>

var-pr=;
功能下行计数器(tim)
{
变量t;
计数器=tim-1;
var elem=document.getElementById('counter');
var price=document.getElementById('price');
var天数=parseInt(计数器/86400),
小时=parseInt(计数器/3600)%24,
分钟=parseInt(计数器/60)%60,
秒=计数器%60,
小时=(小时<10)“'0'+小时:小时;
分钟=(分钟<10)?“0”+分钟:分钟;
秒=(秒<10)?“0”+秒:秒;
elem.innerHTML=(天?天+天名称:“”)+小时+:“+分钟+”:“+秒;
price.innerHTML=(pr);
如果(计数器==0)
{
下行计数器('43200');

这里的问题源于您对上下文的混淆:PHP在服务器上运行并输出发送到客户端的HTML;Javascript在客户端上运行并且不与服务器通信(除非您使用AJAX或其他方法)

PHP在服务器上执行并发送到客户机,因此客户机得到如下结果:

var pr = 1000; // inserted with the PHP echo statement
function downCounter(tim)
{
    var t;
    counter=tim-1;
    var elem=document.getElementById('counter');
    var price= document.getElementById('price');
    var days    = parseInt(counter / 86400),   
    hours   = parseInt(counter / 3600) % 24,   
    minutes = parseInt(counter / 60) % 60,   
    seconds = counter % 60,  
    hours   = (hours < 10) ? '0' + hours : hours;   
    minutes = (minutes < 10) ? '0' + minutes : minutes;   
    seconds = (seconds < 10) ? '0' + seconds : seconds;   
    elem.innerHTML=(days ? days + dayname : '') + hours + ':' + minutes + ':' + seconds;
    price.innerHTML=(pr);

    if (counter==0)
    {
        downCounter('43200');
        pr = 1500; // $p += 500 on previous line of PHP code; echoed here
    } else
    {
        clearTimeout(t);
        t=setTimeout("downCounter('+"+(tim-1)+"')", 1000);
    }
    return false;
}
downCounter('43200');
</script>
var pr=1000;//与PHP echo语句一起插入
功能下行计数器(tim)
{
变量t;
计数器=tim-1;
var elem=document.getElementById('counter');
var price=document.getElementById('price');
var天数=parseInt(计数器/86400),
小时=parseInt(计数器/3600)%24,
分钟=parseInt(计数器/60)%60,
秒=计数器%60,
小时=(小时<10)“'0'+小时:小时;
分钟=(分钟<10)?“0”+分钟:分钟;
秒=(秒<10)?“0”+秒:秒;
elem.innerHTML=(天?天+天名称:“”)+小时+:“+分钟+”:“+秒;
price.innerHTML=(pr);
如果(计数器==0)
{
下行计数器('43200');
pr=1500;//$p+=500(在前一行PHP代码中);在这里重复
}否则
{
清除超时(t);
t=设置超时(“下行计数器(+(tim-1)+“)”,1000);
}
返回false;
}
下行计数器('43200');
这就是在客户端上执行的内容-看看为什么它不能按您想要的方式工作?Javascript使用的是静态值:1000和1500


如上所述,如果您希望将这些值返回到服务器,则需要编写一些Javascript代码来实际发送这些值。

php是服务器端。Javascript是客户端。您的服务器解析php代码并将其(包括Javascript)输出到客户端(您的浏览器)。你的浏览器对php.Righclick和view source一无所知。你会发现你的php代码根本就不存在。如果你想让php和javascript像那样协同工作,那么你就必须进行一些重构并使用AJAX。我想你在展示给我们的内容上方有一个
标记?