php - 表单向 MySQL 数据库提交错误信息

标签 php mysql forms

我创建了一个将数据提交到 MySQL 数据库的表单,但日期、时间、年份和月份字段不断地恢复到完全相同的日期(1970 年 1 月 1 日),尽管当我将信息提交到数据库时该表格向我显示当前日期、时间等。我已经将其设置为时间和日期字段自动显示当前时间和日期。有人可以帮我解决这个问题吗?

表格:

    <html>

<head>
<title>Ultan's Blog | New Post</title>
<link rel="stylesheet" href="css/newposts.css" type="text/css" />
</head>

<body>
<div class="new-form">
<div class="header">
<a href="edit.php"><img src="images/edit-home-button.png"></a>
</div>
<div class="form-bg">
<?php
if (isset($_POST['submit'])) {

    $month = htmlspecialchars(strip_tags($_POST['month']));
    $date = htmlspecialchars(strip_tags($_POST['date']));
    $year = htmlspecialchars(strip_tags($_POST['year']));
    $time = htmlspecialchars(strip_tags($_POST['time']));
    $title = htmlspecialchars(strip_tags($_POST['title']));
    $entry = $_POST['entry'];

        $timestamp = strtotime($month . " " . $date . " " . $year . " " . $time);

    $entry = nl2br($entry);

    if (!get_magic_quotes_gpc()) {
        $title = addslashes($title);
        $entry = addslashes($entry);
    }

    mysql_connect ('localhost', 'root', 'root') ;
    mysql_select_db ('tmlblog');

$sql = "INSERT INTO php_blog (timestamp,title,entry) VALUES ('$timestamp','$title','$entry')";

    $result = mysql_query($sql) or print("Can't insert into table php_blog.<br />" . $sql . "<br />" . mysql_error());

    if ($result != false) {
        print "<p class=\"success\">Your entry has successfully been entered into the blog. </p>";
    }

    mysql_close();
}
?>

<?php
$current_month = date("F");
$current_date = date("d");
$current_year = date("Y");
$current_time = date("H:i");
?>

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">

<input type="text" name="month" value="<?php echo $current_month; ?>" />
<input type="text" name="date" value="<?php echo $current_date; ?>" />
<input type="text" name="year" value="<?php echo $current_year; ?>" />


<input type="text" name="time" id="time" size="5"value="<?php echo $current_time; ?>" />

<input class="field2" type="text" id="title" value="Title Goes Here." name="title" size="40" />

<textarea class="textarea" cols="80" rows="20" name="entry" id="entry" class="field2"></textarea>

<input class="field" type="submit" name="submit" id="submit" value="Submit">

</form>
</div>
</div>
 </div>
 <div class="bottom"></div>
 <!-- //End Wrapper!-->  
</body>

</html>

</html>

alt text

由于某种原因,提交的帖子没有时间戳,并且正在恢复为默认时间戳。

最佳答案

听起来您的表单为您的数据库提供了非常少量的“Ticks”。请注意,您有一个 name="date"和 id="date"三次。这很可能是你的问题。更改这些名称和 ID,请使用月、年、日期(根据您的“回发”)。

关于php - 表单向 MySQL 数据库提交错误信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2750777/

相关文章:

php - 匹配重复的单词

mysql - 搜索多列返回最多匹配项

php:生成 MySQL 数据库列中尚未存在的 5 位数字的最快方法(具有唯一属性)

javascript - 将模式表单中的数据注入(inject) AngularJS 中的父表单?

php - 使用 AJAX 发送具有可变字段数的表单,$_POST 数组为空

php - Bootstrap 下推列

php - 正则表达式过滤非缩小文件

MySQL INSERT 如果不存在但具有变化的值

javascript - 使用 Javascript 检查输入表单中的字符和字符顺序,以显示与字符和字符顺序匹配的图像

php - 寻找标签系统的起点