2011-09-04 50 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

爲真,但大多數設置的錯誤報告不太嚴格。 –

相關問題