尝试在字段下方显示消息时出错


error when trying to display message below field

如果联系人表单的必填字段为空,我想在该字段下方发出一条错误消息。我跟踪了这个链接

http://stackoverflow.com/questions/11237655/display-form-validation-errors-next-to-each-field

我的代码如下:

send.php

$error = array(
        "name" => "",
        "email" => "",
        "message" => ""
    );
    if(empty()$_POST["email"])
        $error["email"] = "Email is required!";
        if(empty()$_POST["name"])
        $error["name"] = "Name is required!";
        if(empty()$_POST["message"])
        $error["message"] = "Message is required!";

但我得到错误:

Parse error: syntax error, unexpected ')', expecting T_STRING or T_VARIABLE or '$' in send.php on line 20 

第20行为if(empty()$_POST["email"])

我的代码有什么错误?

修复空检查。可能最好添加isset

来自

if(empty()$_POST["email"])

if(!isset($_POST["email"]) || empty($_POST["email"]))

尝试此代码,在将字符串传递给empty之前,不要忘记执行trim,并同时使用isset

<?php
  $error  = array(
    "name"    =>  "",
    "email"   =>  "",
    "message" =>  ""
  );
  $email  = ( isset( $_POST["email"] ) ) ? trim( $_POST["email"] ) : false;
  $name   = ( isset( $_POST["name"] ) ) ? trim( $_POST["name"] ) : false;
  $message  = ( isset( $_POST["message"] ) ) ? trim( $_POST["message"] ) : false;
  if ( !$emai ) {
    $error["email"] = "Email is required!";
  }
  if ( !$name ) {
    $error["name"] = "Name is required!";
  }
  if ( !$message ) {
    $error["message"] = "Message is required!";
  }
?>