我想遍歷提交表單中的所有元素,爲每個元素分配自己的變量,然後檢查它們是否是必需的。如果他們需要,他們將被檢查,如果他們是空的。到目前爲止,我的形式如下:通過表單元素循環並檢查是否需要
<form id="newitem" action="addnew.php" method="POST">
<label for="title">Title: </label>
<input type="text" name="title" id="title" required="required" /><br />
<label for="description">Description: </label>
<textarea name="description" id="website" cols="40" rows="5" ></textarea><br />
<input type="hidden" name="formsubmit" value="true" /><!-- Option to know we've sumbited the form -->
<input type="submit" value="Submit" id="submit" />
</form>
我那麼有它驗證使用此:
if (isset($_POST['formsubmit'])) {
// form has been submitted
$errors = Array();
foreach($_POST as $key => $value) {
$$key = $value;
if (!$value) {
array_push($errors, 'Please enter a value for ' . $key);
}
}
if (count($errors) == 0) {
echo 'Form validated';
} else {
showErrors($errors);
}
}
如果元素有一個值這個目前檢查。但是,我希望使用HTML required="required"
來檢查該字段是否必需。
此外,雖然我覺得我明白這是如何工作的,但我不知道我是否確實如此。我認爲$$key = $value
基本上意味着創建一個值爲$key
的變量並將其值設爲$value
。所以,$key
是元素的名稱,而$value
是它的值。但是,我真的沒有得到foreach($_POST as $key => $value) {
。我知道它會循環所有的$_POST
,但除此之外我不知道。
感謝您的幫助!
PHP不知道'required'屬性。它只接收表單輸入'name'和相應的'value'。您可以將整個HTML標記保存在一個字符串中,並使用解析庫解析出它們以獲取這些屬性,但這似乎是不必要的複雜。 – 2012-02-08 12:02:51