我正在生成表單並在同一個文件中處理提交事件。處理表單驗證時避免代碼重用
如果用戶沒有輸入標題,我想再次顯示錶單幷包含錯誤信息(例如「您忘了標題。」)。
這意味着,我要重複的代碼兩次 - 一次到diplay空的形式,二來顯示與身體形態,提示用戶輸入標題:
<?php if(strlen(strip_tags($_POST['posttitle'])) == 0):
// Display the form with question body that user has entered so far and ask user to enter title.
?>
<label for="title"><b>Title:</label><br/>
<input type="text" name="posttitle" id="posttitle" />
<?php endif;?>
<?php elseif ('POST' == $_SERVER['REQUEST_METHOD'] && !empty($_POST['action']) && $_POST['action'] == 'post') : ?>
<!-- Everything ok - insert post to DB -->
<?php else :
// just display form here (again ouch!)
<label for="title"><b>Title:</label><br/>
<input type="text" name="posttitle" id="posttitle" />
?>
可能使用變量而不是複製粘貼,例如, 'if(form is empty){$ message ='Form is empty'} elseif {$ message = null; } ...然後僅在表單上顯示變量,只有在出現問題時纔會顯示,如果我不明白,則會顯示,這就是爲什麼我使用了註釋.. – Daniel 2011-03-10 13:38:43
U確實理解正確。我明白了。謝謝 – 2011-03-10 13:50:09