2012-10-10 62 views
3

我最近看過一篇文章說,你永遠不應該信任發送數據中的用戶。檢查提交值是否在數組中?

所以我們可以說,我有如下形式輸入:

<label for="input1">Answer 1</label> 
<input type="radio" name="question1" value="answer1" id="input1" /> 
<label for="input2">Answer 2</label> 
<input type="radio" name="question1" value="answer2" id="input2" /> 
<label for="input3">Answer 3</label> 
<input type="radio" name="question1" value="answer3" id="input3" /> 

是否還好檢查張貼的答案是否是內部阿雷的答案:還是

$question1_answers = array("answer1", "answer2", "answer3"); 
$answer1 = $_POST['question1']; 
if (in_array($answer1, $question1_answers)) { 
    echo "OK!"; 
} else { 
    echo "Please select proper answer!"; 
} 

也許上面的代碼是不必要的,我應該簡單地讀$_POST['question1']它就夠了?

回答

4

是否還好張貼檢查答案是否內部阿雷的答案:

是的!驗證這樣的單選按鈕值是非常好的練習。您閱讀的文章是正確的,您不應該盲目信任用戶提供的數據。

1

兩種方式都是正確的。但我建議您發佈的第一種方式。