试图从提交的表格中获取

时间:2013-01-26 03:32:18

标签: php forms

我是php的新手只是为了警告你。无论如何,我看了很多但看到我不太了解..我看不出怎么做这个.. 所以我有一个带有'日期'列的表格,我正在测试使用表格将值插入表格中...我想拥有它所以我可以在表格中分割日期,(例如月份: day:year)并将它们组合成一个值以插入'date'列。任何想法如何做到这一点?我试过implode()但是我不确定从表单中发送值的确切方式如此... 使用代码:

实际表格          

    <form action="submit.php" method="post" style="text-align: center; width: 550px; margin: auto;">
        <!--Id: <input type="text" name="id"> -->
        <div style="float: left;">Author: <input type="text" name="author"></div>
        <div style="float: right;">Month: <input type="text" name="month" size="3">
        Day: <input type="text" name="day" size="3">
        Year: <input type="text" name="year" size="5"><br></div>
        <textarea name="post" style="width: 550px; height: 100px;"></textarea><br>
        <input type="submit">
    </form>

</body>

Submit.php

<?php

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

$date = implode("-", "(month, day, year)");

$sql = "INSERT INTO blog (id, author, $date, post) VALUES ('$_POST[id]', '$_POST[author]', '$_POST[date]', '$_POST[post]')";

if (!mysql_query($sql))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
?>

1 个答案:

答案 0 :(得分:2)

implode()将数组作为其第二个参数:

$date = implode("-", array($_POST['year'], $_POST['month'], $_POST['day']));

您还可以使用sprintf()

$date = sprintf("%04d-%02d-%02d", $_POST['year'], $_POST['month'], $_POST['day']);

您的查询还存在两个问题。试试这个:

$sql = "INSERT INTO blog (id, author, `date`, post) 
        VALUES ('$_POST[id]', '$_POST[author]', '$date', '$_POST[post]')";

其他几点: