Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我可以允许表单中的日期字段为空吗?_Php_Mysql_Forms - Fatal编程技术网

Php 我可以允许表单中的日期字段为空吗?

Php 我可以允许表单中的日期字段为空吗?,php,mysql,forms,Php,Mysql,Forms,我有一个用php编写的表单。如果我填写了表单中的所有字段,我就可以很好地将其插入MYsql数据库。基本上我有3个文本字段和2个日期字段。我只想选择其中一个日期字段,而不是两个 我只试过插入一个日期,但只有当我选择了两个日期时,它才不会插入到DB中。它可以工作 下面是选择两个日期字段时的代码。我希望能够只有一个或另一个或两者如果可能的话 <?php require('db.php'); //Inserting Data Variables if(isset($_POST['submit'

我有一个用php编写的表单。如果我填写了表单中的所有字段,我就可以很好地将其插入MYsql数据库。基本上我有3个文本字段和2个日期字段。我只想选择其中一个日期字段,而不是两个

我只试过插入一个日期,但只有当我选择了两个日期时,它才不会插入到DB中。它可以工作

下面是选择两个日期字段时的代码。我希望能够只有一个或另一个或两者如果可能的话

<?php

require('db.php');

//Inserting Data Variables
if(isset($_POST['submit']))
  {
    echo $owner = $_POST['owner'];
    echo $budget = $_POST['budget'];
    echo $status = $_POST['status'];
    echo $s_jan = $_POST['s_jan'];
    echo $s_feb = $_POST['s_feb'];


//Query the database
  $query = "insert into sbook(owner,budget,status,s_jan,s_feb)
  values('$owner','$budget','$status','$s_jan','$s_feb')";

$insert_query = mysqli_query($con, $query);
  }
?>

Here is the form
<form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post">
  <label>Owner</label>
  <br />
  <input class="input" type="text" name="owner">
  <br />
  <label>EST Budget:</label><br />
  <input class="input" type="text" name="budget"/>
  <br />
  <label>Status:</label><br />
  <input class="input" type="text" name="status"/>
  <br />
  <label>Jan</label><br />
  <input class="input" type="date" name="s_jan"/>
  <br />
  <label>Feb</label><br />
  <input class="input" type="date" name="s_feb"/>
  <br />

  <p>
      <button name="submit" type="submit" class="btn btn-primary">Submit</button>
    </div>
  </div>
</form>

你能澄清一下它没有插入的
吗?你有错误吗?它看起来不像是你的错误检查。此外,您还可以接受SQL注入和XSS注入。您也不应该
echo
来分配值。谢谢您提供的信息。我的意思是,当我只使用1个日期时,按submit不会插入数据库。当我使用2个日期时,它将提交到database@Icelander检查数据库中的日期字段是否未标记为
非空
,这意味着,如果您尝试在没有显示日期字段的情况下插入数据,数据库将忽略这一点,并在Php语句中给出错误消息。警告:使用
mysqli
时,您应该使用和向查询中添加任何数据。不要使用字符串插值或串联来完成此操作,因为您已经创建了严重的错误。切勿将
$\u POST
$\u GET
或任何类型的数据直接放入查询中,如果有人试图利用您的错误进行攻击,这可能会非常有害。注意:这样会大大减少冗长,使代码更易于阅读和审核,并且不容易与过时的
mysql\u query
接口混淆,因为缺少一个
i
可能会造成麻烦。示例:
$db=new mysqli(…)
$db->prepare(“…”)
过程接口很大程度上是PHP 4时代的产物,当时引入了
mysqli
API,不应在新代码中使用。您能否澄清
它没有插入
?你有错误吗?它看起来不像是你的错误检查。此外,您还可以接受SQL注入和XSS注入。您也不应该
echo
来分配值。谢谢您提供的信息。我的意思是,当我只使用1个日期时,按submit不会插入数据库。当我使用2个日期时,它将提交到database@Icelander检查数据库中的日期字段是否未标记为
非空
,这意味着,如果您尝试在没有显示日期字段的情况下插入数据,数据库将忽略这一点,并在Php语句中给出错误消息。警告:使用
mysqli
时,您应该使用和向查询中添加任何数据。不要使用字符串插值或串联来完成此操作,因为您已经创建了严重的错误。切勿将
$\u POST
$\u GET
或任何类型的数据直接放入查询中,如果有人试图利用您的错误进行攻击,这可能会非常有害。注意:这样会大大减少冗长,使代码更易于阅读和审核,并且不容易与过时的
mysql\u query
接口混淆,因为缺少一个
i
可能会造成麻烦。示例:
$db=newmysqli(…)
$db->prepare(“…”)
过程接口主要是php4时代的产物,当时引入了
mysqli
API,不应在新代码中使用。