PHP:不更改变量的值

时间:2013-10-01 04:35:15

标签: javascript php

当USER点击取消$IsCanceled = "yes"的值时,我在确认消息中遇到问题 然后当我点击OK时,$ $ IsCanceled =“no”的值......

问题是,当我点击OK时,$ IsCanceled的值仍为是......

<?php
 else { ?>
        <script>
        var myVar = "<?php echo $bldg[$i]; ?> station is already full. Do you want to save the other networks?";
        if (confirm(myVar)) {
        <?php $IsCanceled = "no";?>
    } else {
        <?php
        $IsCanceled = "yes";
        ?>          
    }
        </script>
        <?php
    }
//and so on...

我已经追踪过了,但它仍然是“是”的价值......

由于

3 个答案:

答案 0 :(得分:0)

php是服务器端脚本,没有页面刷新就无法分配。

使用javascript(客户端脚本)变量来指定是或否

else
{ 
?>
<script>
var myVar = "<?php echo $bldg[$i]; ?> station is already full. Do you want to save the other networks?";
if (confirm(myVar)) {
    IsCanceled = "no";
} else {
    IsCanceled = "yes";        
}
alert(IsCanceled);
</script>
<?php
}

答案 1 :(得分:0)

如果你想在客户端做一些逻辑,你需要使用没有PHP的JS。 如果你需要做逻辑服务器端,那么你需要POST或GET到服务器。

只需在加载后立即打开您的页面作为源代码,您将会看到,在您放置PHP条件的位置将无效。

这是因为PHP已经完成了所有工作。检查$ IsCanceled并向您显示页面。

另请注意,如果您需要检查而不是分配,则需要使用双等号,而不是if($IsCanceled == 'no')会检查变量IsCanceled是否等于字符串'no'。但是if($IsCanceled = 'no')告诉php将字符串'no'分配给变量IsCanceled它将为TRUE,因为它的赋值和赋值结果为TRUE

答案 2 :(得分:0)

PHP和Javascript。
两种完全不同的语言用于各种不同的任务。

你上面写的内容试图混合两种语言,如果你在任何其他环境中写作,你甚至都不会考虑这样做。您编写的上述脚本将在服务器上运行其PHP ,并生成发送到浏览器的输出

在您的情况下,这看起来像:

<script>
var myVar = "i station is already full. Do you want to save the other networks?";
if (confirm(myVar)) {
} else {
}
</script>

这是您目前代码的确切输出。如果您要导航用户“保存到其他网络”,则必须创建一个隐藏的HTML form,其中<input type="hidden" ..可以保留您需要的答案。然后,使用Javascript,您可以显示确认对话框并填充HTML表单,提交它,然后使用PHP再次处理它。

把它想象成网球。在将球发送给对手之后,你无法改变击球的方式。在这种情况下,您可以对双方进行编程并使其相应地处理网球。