2009-10-05 48 views
-2

我怎樣才能做到以下幾點。關於如何顯示數據的PHP問題?

例如可以說我已經有檢查,看看用戶是否已經進入了一個鏈接,如果沒有它不會顯示鏈接模板,如果這樣顯示鏈接模板的模板?

回答

0
<?php 

$enteredLink = isset($_POST['enteredLink']) ?1:0; 

if ($enteredLink) { 
?> 
<a href="<?php echo htmlentities($_POST['enteredLink']);?>">link</a> 
<?php 
} 
?> 

您需要設置一個變量爲布爾型,使用if語句,如果輸入了,只輸出任何內容,否則不要。

+0

這是一個開放的邀請XSS。作爲一般的經驗法則,您絕不應該將未編碼的表單數據發送到HTML。 – 2009-10-05 02:18:36

+0

與周圍的ヶ輛$ _ POST條目()應該解決的潛力。除此之外,代碼應該做你以後的事情。 – canadiancreed 2009-10-05 02:27:29

+2

當然,我建議您清理,但老實說,在StackOverflow中有幾百個簡單的問題,因爲它不在原始問題的範圍之內,因此不考慮XSS。 – 2009-10-05 02:27:51

1

基本要點有:

<?PHP 

if(isset($_REQUEST['supplied_link'])) 
{ 
    // do something 
} 
else 
{ 
    // do another thing 
} 

然而,實際驗證鏈接以某種方式,特別是要確保它不是腳本代碼,但是,事實上,一個鏈接是非常重要的。我選擇了$ _REQUEST,因爲它可以同時處理POST和GET,但是您可以使用$ _POST作爲描述。

在驗證方面,如果您使用的是PHP 5,則可以使用strpos在前面查找http://。請記住,在這種情況下,返回值將是所期望的匹配,要麼FALSE或> 0失敗0(零)。你可以做很多事情比這更(如驗證針對DNS,垃圾郵件攔截等方面的URL),但是這是最起碼的。