0

当用户单击 CANCEL 的值时,我在确认消息中出现问题,$IsCanceled = "yes" 然后当我单击 OK 时,`$IsCanceled = "no" 的值..

问题是,当我单击确定时,$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...

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

谢谢

4

3 回答 3

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
}
于 2013-10-01T04:43:20.237 回答
0

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

只需在页面加载后立即将其作为源打开,您就会看到,在您放置 PHP 条件的地方将一事无成。

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

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

于 2013-10-01T04:46:36.040 回答
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 处理它。

把它想象成网球。在已经将球传给对手之后,您无法改变击球方式。在这种情况下,您可以对双方进行编程并让他们相应地处理网球。

于 2013-10-01T04:50:25.750 回答