PHP输入日期通过表单和处理它

时间:2011-12-23 04:46:40

标签: php mysql forms date

我有一个问题,有3个文本框输入postdate,title和content。当我处理它发送到mysql数据库。 Textbox postdate无法发送到mysql数据库。只发送标题和内容。

我需要你的帮助来解决这个错误。谢谢你的帮助

if(isset($_POST['submit'])){
    $postdate=date($_POST['postdate']);
    $title= htmlspecialchars($_POST['title']);
    $content=$_POST['content'];
    $sql=mysql_query("insert into national_news(postdate,title,content)values('$postdate','$title','$content')");
    header("Location: nasional_news.php");
}

3 个答案:

答案 0 :(得分:1)

如果日期来自用户那么为什么要使用date()功能?试试这个:

if(isset($_POST['submit'])){
$postdate=mysql_real_escape_string(trim($_POST['postdate']));
$title= mysql_real_escape_string(trim($_POST['title']));
$content= mysql_real_escape_string(trim($_POST['content']));
$sql=mysql_query("insert into national_news(postdate,title,content)values('$postdate','$title','$content')");

header("Location: nasional_news.php");
}

答案 1 :(得分:0)

您的用户如何输入postdate?除非用户实际输入“F m Y”之类的内容,否则你拥有的行$postdate=date($_POST['postdate']);将毫无用处。查看php.net's date page

您应该接受postdate而不通过date()功能运行它。

答案 2 :(得分:0)

<?php

if(isset($_POST['submit']))
{
    print_r($_POST);//Checking $_POST array values.

首先,您必须检查上一页中所有值发布的位置,然后继续使用您的代码。 如果选中,那么确保你的'postdate'列数据类型是'date'并且每次使用或die()使用query()来了解查询执行状态。

了解印度使用的当前日期时间

$dateTime = new DateTime("now", new DateTimeZone('Asia/Calcutta'));
    $dt= $dateTime->format("Y-m-d H:i:s");//for India