PHP:表单标记不显示错误


PHP: Form Mark tag not displaying with errors

为联系人部分创建邮件表单。表单后面有一个标记标记,在验证所有必需的字段都不满足后显示,并列出需要满足的字段。

在提交时,如果输入了值,它们会像它们应该的那样回显,但是标记标签不显示…

我需要帮助有标记标签显示时,有错误…

HTML:

<form method="post" action="">
    <input type="text" name="name" placeholder="Name" value="<?php echo $_POST['name']; ?>">
    <input type="tel" name="phone" placeholder="Phone Number" value="<?php echo $_POST['phone']; ?>">
    <input type="email" name="email" placeholder="Email" value="<?php echo $_POST['email']; ?>">
    <input type="text" name="invoice" placeholder="Invoice Number (optional)" value="<?php echo $_POST['invoice']; ?>">
    <textarea name="comments" maxlength="500" rows="10" cols="10" placeholder="Please enter your comments here..." value="<?php echo $_POST['comments'];?>"></textarea>
    <button type="submit">Submit</button>
</form>             
<mark><?php echo $MSG[0]; ?></mark>
PHP:

<?php 
if(!empty($_POST)) {
$POST=filter_post($_POST);
$MSG=check_empty($POST);
if(!array_filter($MSG)) {
    send_mail($POST);
    if(send_mail($POST)) {
        $MSG[]="Email Success";
    }
    else {
        $MSG[]="Email Failed";
    }
}
}
function filter_post($POST) {
$keys=array('name', 'phone', 'email', 'invoice', 'comments');
$POST=array_intersect_key($POST, array_flip($keys));
$POST=array_map('strip_tags', $POST);
return($POST);
}
function check_empty($POST) {
foreach($POST as $key=> $value) {
    if(empty($value)) {
        $MSG[]="You need to fill out the $key section";
    }
}
return($MSG);
}
function send_mail($POST) {
extract($POST);
$to='7servicerepairs@gmail.com';
$sbj='New Question For Se7en Service!';
$msg="Name: $name 'n Phone: $phone 'n Email: $email 'n Invoice #: $invoice 'n Comments: $comments";
$headers="From: $email";
return(mail($to, $sbj, $msg, $headers));
}
?>
CSS:

form{
cursor: default !important;
display: -webkit-flex;
display: flex;
-webkit-justify-content: center;
justify-content: center;
-webkit-align-self: center;
align-self: center;
-webkit-flex-direction: column;
flex-direction: column;
background: #ECF0F1;
-webkit-box-shadow: 0px 2px 7px rgba(0, 0, 0, 0.40);
box-shadow: 0px 2px 7px rgba(0, 0, 0, 0.40);
-webkit-border-radius: 0.3em;
border-radius: 0.3em;
padding: 1.3em;
}
form>input{
width: 22.1em;
height: 2.5em;
margin: 0.2em 0;
font-size: 1em;
-webkit-font-smoothing: antialiased;
font-family: HelveticaNeue-Light,"Helevetica Neue",Helvetica,Arial;
text-align: center;
border: 1px solid #d5dadc;
-webkit-border-radius: 2px;
border-radius: 2px;
color: #7C7C7C;
outline: none;
}
form>button{
width: 22.35em;
height: 2.5em;
margin: 0.2em 0;
padding: 0;
font-size: 1em;
-webkit-font-smoothing: antialiased;
font-family: HelveticaNeue-Light,"Helevetica Neue",Helvetica,Arial;
cursor: pointer;
outline: none;
border: none;
color: #fff;
background: #2ECC71;
-webkit-border-radius: 2px;
border-radius: 2px;
}
form>textarea{
margin: 0.2em 0;
font-size: 1em;
-webkit-font-smoothing: antialiased;
font-family: HelveticaNeue-Light,"Helevetica Neue",Helvetica,Arial;
border: 1px solid #d5dadc;
-webkit-border-radius: 2px;
border-radius: 2px;
color: #7C7C7C;
outline: none;
max-width: 22em;
}
mark{
display: -webkit-flex;
display: flex;
-webkit-justify-content: center;
justify-content: center;
-webkit-align-self: center;
align-self: center;
height: 1.5em;
margin: 1.5em;
font-size: 1em;
color: #fff;
-webkit-font-smoothing: antialiased;
font-family: HelveticaNeue-Light,"Helevetica Neue",Helvetica,Arial;
background: none;
}

没有背景的白字?它肯定在那里,只是你无法分辨。

mark {
...
color: #ff0000;
...
}
http://jsfiddle.net/2hsh4zmb/