2011-09-04 47 views
1

我试图弄清楚如何在某人转到www.mysite.com/examplepage.php时使div无形,但当有人转到www.mysite.com/example.php?added=1时可见。有人能够很好的向我解释这个吗? div的目的是向用户发送一条消息,指向?added = 1页面 - 奇怪的是,这个有用的东西很难找到说明。我是一个初学者,所以如果这是一件简单的事情,我会非常感激,如果有人给我一个例子的代码片段可以做到这一点。除非页面网址中包含“?added = 1”,否则如何使div不可见?

非常感谢

回答

5

在HTML/PHP模板...

<?php if (isset($_GET['added']) AND $_GET['added'] == '1'): ?> 
<div> 
    ... 
</div> 
<?php endif; ?> 

虽然这将是更好地处理在一些控制器代码的标志,然后设置一个标志,所以你不”您不得不直接在您的视图中使用isset()$_GET

1
<?php if (isset($_GET['added']) && $_GET['added'] == 1): ?> 
    <div>thediv!</div> 
<?php endif ?> 

应该让你开始。尽管如此,$ _GET ['added'] == 1是可选的。

<?php if (@$_GET['added'] == 1): ?> 
    <div>thediv!</div> 
<?php endif ?> 

也可以用来作为一个较短的版本(虽然我也只是只使用isset推荐($ _ GET [“添加”])你的情况,因为我怀疑你关心在末尾= 1) 。

+0

你应该提及'@'运算符是什么,以及为什么它是一个坏主意。此外,用户提供的GET参数始终是字符串(或字符串数​​组),所以您可以将其与“1”进行比较。 – alex

+0

@alex在这种情况下,我看不出这是个坏主意,如果'added'不存在,它会取消通知,并返回NULL。没有更多,没有更多。这很简单,而且这通常是PHP的内容。但是,在这种情况下,isset($ _ GET ['added'])最有可能就足够了。 – Andreas

+0

也许它在这个上下文中并没有那么糟糕,但它在另一个上下文中。 – alex

0

以上的答案是正确的,但如果你需要隐藏它,但它留在源,是这样的:

<div <?php if ($_GET['added']==1)echo "style='display:none'"; ?>> 
     hidden from the page, visible in view source. 
    </div> 

有几个原因要离开它的来源,如当点击某个按钮时显示div。

+0

尽管如此,在某些设置中,除非您使用@或先检查“添加”的存在,否则您的设置将会发出通知。 – Andreas

+0

为真,但大多数设置的错误报告不太严格。 –

相关问题