我正在用一個下拉菜單和一個文本字段創建一個非常簡單的表單。 如果表單在提交期間有空字段,則顯示錯誤。如何在提交表單後保留下拉菜單選定值?
我想在表單提交後顯示填充值,如果有任何錯誤。 它正如我所料在文本字段上工作。 例如:如果填寫name
並提交表格而未填寫title
下拉菜單,則會顯示在錯誤期間在該字段上鍵入的名稱。
但我怎樣才能做到這一點下拉菜單嗎? 例如:如果我選擇title
下拉菜單並提交表格而未填寫name
字段,則應在出現錯誤期間顯示選定的title
下拉值。
我該怎麼做? 這裏是我的代碼,它是一個WordPress的網站:
<?PHP
$errors = array();
if($_POST["submit"]) {
$name_title = $_POST["name_title"];
$sender = $_POST["sendername"];
//Check the name title that it is selected or none.
if($name_title === none){
//if selected is none, add error to $errors array.
$errors['name_title'] = "Please select the title of your name!";
}
if(empty($sender)){
//Blank string, add error to $errors array.
$errors['sendername'] = "Please enter your name!";
}
// sending form
if(empty($errors)){
$mail_sent = wp_mail($to, $subject, $mailBody, $headers);
}
}
if ($mail_sent) {
?>
<h1 style="color: #007f00;">Request sent.</h1>
<?php
} else {
?>
<form id="" name="" action="<?php echo get_permalink(); ?>" method="post">
<div class="label-input-wrapper">
<div class="form-label">Title</div>
<div class="form-input">
<select name="name_title" class="name-title-input">
<option value="none" selected="selected">Select Title</option>
<option value="Mr">Mr</option>
<option value="Mrs">Mrs</option>
<option value="Miss">Miss</option>
<option value="4">Ms</option>
</select>
<div class="error-msg">
<?php if(isset($errors['name_title'])) { echo '<span style="color: red">'.$errors['name_title'].'</span>'; } ?>
</div>
</div>
</div>
<div class="label-input-wrapper">
<div class="form-label">Name</div>
<div class="form-input">
<input type="text" name="sendername" value="<?PHP if(!empty($errors)) { echo $sender;} ?>" />
<div class="error-msg">
<?php if(isset($errors['sendername'])) { echo '<span style="color: red">'.$errors['sendername'].'</span>'; } ?>
</div>
</div>
</div>
<input type="submit" value="Submit" name="submit">
</form>
<?php
}
?>
如果我無法歸檔我期望的結果,我在這裏提問。這是因爲可能是我在這個領域的能力有限。因此,當任何GENIUS'DOWN VOTE'的問題請告訴我,原因至少是爲什麼... – 2014-10-01 10:31:52
在開始生產之前,請確保您在HTML回顯之前轉義$ sender變量。否則,您的網站將容易受到XSS的影響。在這裏閱讀更多:https://www.owasp.org/index.php/Cross-site_Scripting_(XSS) P.S.不,我不是那個倒票的人:) – Qwerty 2014-10-01 10:35:55