2013-11-04 84 views
0

我只是想檢查一個表單變量是否爲空。代碼將變量$getsubject$getsubject設置爲表格的$_POST,然後我檢查它們是否爲空,如果它們是我想將它們設置爲"No Message""No Subject"。我也嘗試了isset,它沒有奏效。我甚至嘗試設置一個同樣的事情的else語句,它不會改變它。PHP空不工作

$getsubject = $_POST['subject']; 
$getmessage = $_POST['message']; 

if(empty($getsubject)) {  
    $getsubject = "<No Subject>"; 
} 

if(empty($getmessage)){ 
    $getmessage = "<No Message>"; 
} 
+0

你有沒有''echo' $ getmessage'?如果沒有,當然它不會顯示。 –

+0

如果在最初分配給變量以及在執行「空」檢查後嘗試'var_dump($ getsubject)',你會得到什麼? – andrewsi

+0

您使用的是HTML表單嗎?你能顯示代碼嗎? –

回答

4

我發現..代碼工作的問題 - 但是因爲有括號「<」和「>」 ......當我從SQL表中檢索數據,這是沒有出現。不知道爲什麼,但當我刪除它工作的括號。

+0

原因是因爲瀏覽器看到'< >',並且認爲你在哪裏輸出html,如果你查看源代碼,你會看到它 – 2013-11-04 19:00:19

+0

如果你想在你的代碼中使用'<' and '>'符號,你必須使用'<'和' >'爲了讓他們迴應,「IF」這是你的原意。 –

+0

有道理。謝謝。 –

-2

我建議你使用完整的條件來顯示你正在尋找的結果與html結合。

IF受試者內容 然後回顯大主題 ELSE 然後回聲無主題 END IF

IF消息有內容 然後回顯謝謝你的消息 ELSE 然後回聲無Messgae被輸入 END IF

^這是基本邏輯而不是代碼 也看看修剪php代碼,它將修剪提交的空白空間。這有助於消除作爲字符的空白響應或空間計數(不會刪除字符之間的空格)

0

如果您不確定id是否存在表單中的數據,則必須使用!isset在聲明變量之前檢查它,以便:

if(!isset($getsubject)) {  
    $getsubject = "<No Subject>"; 
} 
else{ 
$getsubject = $_POST['subject']; 
} 

if(!isset($getmessage)){ 
    $getmessage = "<No Message>"; 
} 
else{ 
$getmessage = $_POST['message']; 
} 

$_POST['subject'];的數據,例如,可能不存在,如果你把它聲明PHP會給你一個錯誤