我只想在/../mahjong.php上显示DIV。因此,即使我转到/../mahjong.php?布局,它也应该隐藏div (因为它不是相同的url)。
我尝试过以下几种方法:
// We're NOT on the home page
if (strpos($_SERVER['REQUEST_URI'], "/games/mahjong/mahjong.php") >= 0) {
$style = "display: none";
}
else {
$style = "display: inline";
}当然还有我的div:
<div class="menu" id="menu" style="<?php echo $style; ?>">但是如果我转到/games/mahjong/mahjong.php?布局,它不会改变样式。我重复了一下:
echo $_SERVER['REQUEST_URI'];并且它将更改为/游戏/mahjong/mahjong.php?布局,那么为什么不将样式设置为内联呢?
if (strpos($_SERVER['REQUEST_URI'], "/games/mahjong/mahjong.php") === false) {也不管用。(这将显示div并且永远不会隐藏它)我遗漏了什么?
非常感谢,
莫里斯
发布于 2011-06-16 01:25:35
将您的条件更改为:
strrpos($_SERVER['REQUEST_URI'], '/games/mahjong/mahjong.php') === strlen($_SERVER['REQUEST_URI']) - strlen('/games/mahjong/mahjong.php')这将确保请求uri以该字符串结束。
发布于 2011-06-16 01:25:30
检查$_GET阵列是否已填充:
<?php if (empty($_GET)): ?>
<div>
...
</div>
<?php endif; ?>如果不是手动添加到$_GET数组中,应该就足够了,这将是非常愚蠢的。
发布于 2011-06-16 01:22:35
strpos();只搜索该字符串,在这两种情况下,都会找到string strpos();不是精确搜索!
// We're NOT on the home page
if (strpos($_SERVER['REQUEST_URI'], "/games/mahjong/mahjong.php?layout") >= 0) {
$style = "display: inline";
}
else {
$style = "display: none";
}或者您可以使用
// We're NOT on the home page
if (isset($_GET['layout'])) {
$style = "display: inline";
}
else {
$style = "display: none";
}这可能会有帮助
https://stackoverflow.com/questions/6361645
复制相似问题