2011-06-16 69 views
0

我已經創建了一個表單上有一個名爲「alert」的php表單,我要設置表單,以便如果勾選了「alert」複選框,用戶必須輸入評論爲什麼他們打勾了警報框。如果勾選框勾選強制文本區域完成

這裏是我的代碼有

if (empty($_POST['tutorComment']) && $_POST['alert'] == 'YES') { 
    echo "You must enter a comment on the student if you tick the alert box"; 
    exit(); 
} 

這似乎是工作,如果我在方框裏打勾,不輸入註釋,但是當我勾選框,並輸入註釋中的代碼仍然在這裏終止。

任何想法我錯了?

+0

您的問題是if-clause還是別的? – sinni800 2011-06-16 10:04:58

+0

我不確定,嘗試使用'if(!isset($ _ POST ['tutorcomments'))' – bigblind 2011-06-16 10:06:16

+1

嘗試var_dump($ _ POST),您將看到所有後期參數。 – heximal 2011-06-16 10:07:44

回答

2

您的代碼有錯字tutorComments而不是tutorComment。無論如何,如果您用以下代碼替換代碼會更安全:

if(!strlen($_POST['tutorComment']) && isset($_POST['alert'])){ 
    echo "You must enter a comment on the student if you tick the alert box"; 
    exit(); 
} 
+0

你的權利!這只是表明你可以看看代碼太長,它變得模糊,你不能發現最簡單的事情。非常感謝您的幫助。 – Mattrsa 2011-06-16 10:24:32

+0

@mattrsa不客氣!附:如果答案是正確的,你應該接受它以防止人們試圖回答它:) – 2011-06-16 12:33:15

2

tutorComment您的表單域的name?我會仔細檢查拼寫,大小寫,並且您已將它用作name,而不是id

+0

是的tutorComment是正確的,如果我刪除if語句,該字段將信息傳遞到我的數據庫中。 – Mattrsa 2011-06-16 10:09:38

+0

是你的測試評論'「0」'? – searlea 2011-06-16 10:12:12

+0

你是對的,這是一個拼寫問題。我花了太久盯着屏幕 – Mattrsa 2011-06-16 10:25:59