根据 PHP url 变量显示特定模态
Show specific modal depending on PHP url variable
如何根据 php 中的变量显示特定模态,该变量在 url 中被修改。
我正在使用响应式框架 Bootstrap。
我有一个包含多个模式的页面,每个模式对应一个产品。我需要从站点的其他部分创建一个 link 以转到页面 "products.php" 并自动显示所需的产品。
例如:
href="products.php?prod=1"
到目前为止,我只在加载页面时成功显示了模式,但是如果我添加或更改变量,它没有任何效果,根本不起作用。
这是我的:
开头
<?php
//Variable to choose which modal to show, default = 1
$prod = 1;
?>
然后是有识别id的模态
<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>
有什么想法吗?
您没有从 URI 中收集产品变量的值。要在您有 $prod=1 的页面顶部完成此操作;您可以输入以下代码行:
$prod = (isset($_GET['prod']))?$_GET['prod']:"1";
这会告诉系统在您的 url 中获取 prod= 的值,如果找不到,则使用“1”作为默认值。
这不是理想的答案,有很多理由在没有适当过滤的情况下不以这种方式访问 $_GET/$_POST 变量。我留给你研究。
你做的相反,应该是
<?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 } ?>
如何根据 php 中的变量显示特定模态,该变量在 url 中被修改。
我正在使用响应式框架 Bootstrap。
我有一个包含多个模式的页面,每个模式对应一个产品。我需要从站点的其他部分创建一个 link 以转到页面 "products.php" 并自动显示所需的产品。
例如:
href="products.php?prod=1"
到目前为止,我只在加载页面时成功显示了模式,但是如果我添加或更改变量,它没有任何效果,根本不起作用。
这是我的:
开头
<?php
//Variable to choose which modal to show, default = 1
$prod = 1;
?>
然后是有识别id的模态
<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>
有什么想法吗?
您没有从 URI 中收集产品变量的值。要在您有 $prod=1 的页面顶部完成此操作;您可以输入以下代码行:
$prod = (isset($_GET['prod']))?$_GET['prod']:"1";
这会告诉系统在您的 url 中获取 prod= 的值,如果找不到,则使用“1”作为默认值。
这不是理想的答案,有很多理由在没有适当过滤的情况下不以这种方式访问 $_GET/$_POST 变量。我留给你研究。
你做的相反,应该是
<?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 } ?>