如何将datatime-local输入转换为php变量?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (144)

我试图将输入字符串转换为php的数据对象,在sql上使用它,但它不工作,我找不到错误,html是

<div class="form-group ">
    <label class="control-label" for="interno">Fecha Limite</label>
    <input name="fechalimite" type="datetime-local" class="form-control" id="fechalimite">
</div>      

php上的post方法就是这样做的

$fecha = getA(strtotime("fechalimite"));
$datetime = date("Y-m-d H:i:s",$fecha);

如果我使用echo fecha显示正确的日期时间,但$datetime它只是空白,我缺少什么?

可以

function getA($campo)
{
    return(htmlspecialchars(antiinjection($_REQUEST[$campo]), ENT_QUOTES));
}
提问于
用户回答回答于

这是错误的,它传递一个字符串 strtotime()

$fecha = getA(strtotime("fechalimite"));

尝试

$fecha = strtotime(getA("fechalimite"));

虽然它看起来像你getA用作反SQL注入机制。 最好为此使用参数化绑定查询

用户回答回答于

你将一个字符串“fechalimite”传递给strtotime(),它将返回false。

忽略你的getA函数,只需将请求变量传递给strtotime:

$fecha = strtotime($_REQUEST['fechalimite']);

在将值传递给date()之前,绝对没有理由尝试对HTML实体进行编码。您应该只在生成输出时编码实体。

扫码关注云+社区

领取腾讯云代金券