【问题标题】:Show specific modal depending on PHP url variable根据 PHP url 变量显示特定模式
【发布时间】:2015-12-14 18:47:46
【问题描述】:

如何根据在 url 中修改的 php 中的变量显示特定模式。

我使用的是响应式框架 Bootstrap。

我有一个包含多个模式的页面,每个模式对应一个产品。我需要从网站的其他部分创建链接以转到页面“products.php”并自动显示所需的产品。

例如:

href="products.php?prod=1"

到目前为止,我只是在加载页面时成功显示了modal,但是如果我添加或更改变量,它就没有效果,根本不起作用。

这就是我所拥有的:

一开始

<?php
    //Variable to choose which modal to show, default = 1
    $prod = 1;
?>

然后是具有标识的模态。

<div class="modal fade" id="product1" tabindex="-1" role="dialog" aria-hidden="true">
    <!-- Content of the modal -->
</div>

然后是页面加载时显示模式的脚本。

<script type="text/javascript">

    $(document).ready(function(){
        <?php if ($prod == 1) {
            echo "$(document).ready(function () {var a = 'PD1'; alert(a); });";
            echo "$('#product1').modal('show');";
        }elseif ($prod == 2) {
            echo "$(document).ready(function () {var a = 'PD2'; alert(a); });";
            echo "$('#product2').modal('show');";
        };
        ?>
    });

</script>

有什么想法吗?

【问题讨论】:

    标签: php jquery twitter-bootstrap url modal-dialog


    【解决方案1】:

    您没有从 URI 中收集产品变量的值。在您拥有 $prod=1; 的页面顶部完成此操作;您可以输入以下代码行:

    $prod = (isset($_GET['prod']))?$_GET['prod']:"1";
    

    这告诉系统在你的 url 中获取 prod= 的值,如果它找不到它然后使用“1”作为默认值。

    这不是理想的答案,有很多理由在没有适当过滤的情况下不以这种方式访问​​ $_GET/$_POST 变量。我把它留给你研究。

    【讨论】:

    • 对于那些不知道的人,Jim 在这里所说的是简写:if(isset($_GET['prod']) $prod = $_GET['prod']; else $prod = "1";
    【解决方案2】:

    你做的相反,应该是

    <?php if ($prod == "1") { ?>
    
        <script type="text/javascript">
        $(document).ready(function(){
             var a = 'PD1';
             alert(a);
            $('#product1').modal('show');
        });
        </script>
    
    <?php } elseif ($prod == "2") { ?>
    
        <script type="text/javascript">
        $(document).ready(function(){
              var a = 'PD2';
              alert(a);
              $('#product2').modal('show');
        });
        </script>
    
    <?php } ?>
    

    【讨论】:

      猜你喜欢
      • 2011-08-11
      • 2016-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-17
      • 2014-12-05
      • 1970-01-01
      相关资源
      最近更新 更多