如何使用php检查某个元素是否存在

时间:2017-03-21 11:15:15

标签: javascript php html json

我有一个html表单,我可以使用JavaScript附加,我使用PHP将数据保存到JSON文件。但是,当我没有表单(尚未附加)时单击提交按钮时,它仍然将数据保存到JSON文件:

 [{"language":null,"time_in_words":null,"time_hours":null,"time_mins":null,"audio":null}]

有没有办法检查表单(或表格周围的div)是否确实存在? (使用PHP)

编辑: 这是我提交表单并将其发送到JSON文件的PHP

if(isset($_POST["submit"])){
   $_POST = array_filter($_POST);
      if(file_exists('data.json')){
          $current_data = file_get_contents('data.json');
          $array_data = json_decode($current_data, true);
          $extra = array(
              'language'         =>       $_POST["language"],
              'time_in_words'          =>       $_POST['time_in_words'],
              'time_hours'         =>       $_POST["time_hours"],
              'time_mins'         =>       $_POST["time_mins"],
              'audio'                  =>       $_POST["audio"],
);
            $array_data[] = $extra;
            $final_data = json_encode($array_data);
            if(file_put_contents('data.json', $final_data)) {
              $message = "Successfully saved";
              echo "<script type='text/javascript'>alert('$message');</script>";
            }
          }
          else
          {
            $error = "data.json does not exist";
            echo "<script type='text/javascript'>alert('$error');</script>";
          }
 }

1 个答案:

答案 0 :(得分:0)

感谢ParantapParashar帮助我解决这个问题。 =)

if(isset($_POST["language"])){
  // *submit the form to the json file*
}
else {
  // *tell the user to add an input field*
}

检查<input type="text" name="language" required>是否有任何值。如果它不存在,则没有价值,因此结果将是错误的。

如果它确实存在,它仍然没有值,但由于我给输入元素“必需”属性,它不会让用户在用户给它一个值之前提交(通过填写输入字段)

因此,当用户填写输入字段时,结果将为真。