我想在/../mahjong.php上显示DIV。所以即使我去了/../mahjong.php?layout它应该隐藏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 class="menu" id="menu" style="<?php echo $style; ?>">
但是如果我去/games/mahjong/mahjong.php?layout它不会改变风格。我回应道:
echo $_SERVER['REQUEST_URI'];
并且它更改为/games/mahjong/mahjong.php?layout,那么为什么样式不能设置为内联?
if (strpos($_SERVER['REQUEST_URI'], "/games/mahjong/mahjong.php") === false) {
也没用。 (这将显示div并且永远不会隐藏它)我缺少什么?
非常感谢,
莫里斯
答案 0 :(得分:1)
检查是否已填充$_GET
数组:
<?php if (empty($_GET)): ?>
<div>
...
</div>
<?php endif; ?>
如果您没有手动添加到$_GET
数组,那就足够了,这将非常愚蠢。
答案 1 :(得分:0)
strpos();只搜索该字符串,并在两种情况下都找到字符串 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";
}
这可能会有所帮助
答案 2 :(得分:0)
检查PATH_INFO
和QUERY_STRING
是否为空......如果没有,那么它不是您想要的页面。
答案 3 :(得分:0)
将您的条件更改为:
strrpos($_SERVER['REQUEST_URI'], '/games/mahjong/mahjong.php') === strlen($_SERVER['REQUEST_URI']) - strlen('/games/mahjong/mahjong.php')
这将确保请求uri以该字符串结尾。