【问题标题】:Why date is required field in form?为什么日期是表格中的必填字段?
【发布时间】:2015-12-08 03:11:04
【问题描述】:

我在网页上有表格,用户必须填写他们的信息,其中一些是:出生日期、描述、教育和城市。如果用户仅添加出生日期(或任何其他字段 + 出生日期)并单击保存,则一切正常,数据库中的信息将被更新。但是,如果出生日期字段留空,则信息不会更新并且会出现错误:

Object Moved
This document may be found here
1292:Incorrect date value: '--' for column 'birth_date' at row 1
UPDATE users SET `avatar` = '01\\14',`birth_date` = '--' WHERE user_id = '13'"

系统检查字段是否为空的部分功能:

    if ( !empty( $Request->post['birth_date'] ) ) {
        $user_data['birth_date'] = implode('-', $Request->post['birth_date'] );
    }

    if ( !empty( $Request->post['description'] ) ) {
        $user_data['description'] = $Request->post['description'];
    }

    if ( !empty( $Request->post['education_id'] ) ) {
        $user_data['education_id'] = $Request->post['education_id'];
    }
    if ( !empty( $Request->post['city_id'] ) ) {
        $user_data['city_id'] = $Request->post['city_id'];
    }

我的问题是为什么这个检查是否字段不为空不适用于日期?

P。 S.mysql数据库中birth_date类型为日期,描述类型为文本,另外两个为整数。

【问题讨论】:

  • 你能发布你的html表单吗?
  • 您能否将使用$user_data['birth_date'] 作为参数的代码发布到数据库查询中。那就是您弄错数据格式的地方。还显示表单中的birth_date 输入字段
  • 当然你可以忽略所有这些建议,我们继续讨论另一个问题,提问者很烦,需要做出某种答复......
  • 看起来 $Request->post['birth_date'] 是一个数组,因此不为空。
  • 您声称自己是computatinal linguist,看来computational 位很遗憾地缺失,而linguist 位几乎不存在。我离开这里!

标签: php mysql


【解决方案1】:

@Kickstart 在评论中回答了这个问题,因为$Request->post['birth_date'] 是一个数组。我已使用此处的答案来检查空数组:Check whether an array is empty

【讨论】:

    猜你喜欢
    • 2017-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-23
    • 2015-01-17
    • 2013-03-20
    • 1970-01-01
    • 2012-06-29
    相关资源
    最近更新 更多