我正在尝试将输入字符串转换为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));
}
答案 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注入机制。为此最好使用参数化绑定查询