2013-03-05 72 views
-1

我已經if語句下面,PHP爲什麼是「isset()函數」和「空()」未正常工作

if (isset($_POST['projectName']) && !empty($_POST['projectName'])) 

頁面加載後的第一次,事件之前擊中提交按鈕,頁面會遍歷if語句並返回false,這是我的意圖,但只有在有人點擊Submit按鈕後。

我該如何更改它,以便它只有在有人點擊提交後才能通過此if語句運行?由於

+1

這IF統計ement不返回任何東西。你什麼意思?你如何檢測到「它貫穿這個if語句」? – Sven 2013-03-05 00:26:37

+0

只有在設置了'$ _POST ['projectName']'但也是空的時纔會失敗。 – Ryan 2013-03-05 00:31:01

回答

2
if(isset($_POST['submit'])){ 
    if (isset($_POST['projectName']) && !empty($_POST['projectName'])) { 
     // .. 
    } 
} 

確保您的形式已與名稱的提交按鈕提交

<input type="submit" name="submit" value="submit"/> 
+0

'$ _POST ['projectname']'只會在通過POST提交表單時設置。 – Sven 2013-03-05 00:27:43

+1

我認爲那就是他想要的代碼。 – prakashchhetri 2013-03-05 00:28:27

+0

我不知道他想要什麼,所以我問了幾個問題。但是我發現你的答案不能解決問題,因爲添加一個提交按鈕不會改變這個IF語句的情況。 – Sven 2013-03-05 00:30:07

0

如果你不想甚至評價這種說法,如果沒有已經發布,你可以做這樣的:

if ('POST' !== $_SERVER['REQUEST_METHOD']) { // this is not a POST 
    // do something 
} else { 
    // logic for handling posts 
    if(!empty($_POST['projectName'])) { 
     // blah blah blah 
    } 
} 

OR

if (empty($_POST)) { // this is not a POST 
    // do something 
} else { 
    // logic for handling posts 
    if(!empty($_POST['projectName'])) { 
     // blah blah blah 
    } 
} 
相關問題