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

时间:2018-07-05 19:31:44

标签: php

我正在尝试将输入字符串转换为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只是空白,我丢失了什么?

getA

function getA($campo)
{
    return(htmlspecialchars(antiinjection($_REQUEST[$campo]), ENT_QUOTES));
}

2 个答案:

答案 0 :(得分:0)

您正在将字符串“ fechalimite”传递给strtotime(),该字符串将返回false。

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

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

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

答案 1 :(得分:0)

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

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

尝试

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

尽管您似乎将getA用作反SQL注入机制。

     

为此最好使用参数化绑定查询