textarea没有提交到数据库

时间:2013-01-01 00:07:56

标签: php mysql forms textarea nicedit

我有一个表单,我试图提交,进入我的MySQL数据库,并提交所有记录,接受'内容'我的博客表中的字段。

我不确定这是否重要,但我使用的是来自nicedit.com的textarea框架

更新:我已经删除了NicEdit框架,它作为一个普通的textarea工作得很好,我现在还不确定该去哪里我现在尝试将我的支持转移到NicEdit并在我发布回复时找到了解决这个问题的方法。

但是,我有另一个问题,并且不想打开一个关于它的新帖子,我的日期是插入as 0000-00-00而不是当前日期。任何解决方案?

继承了php post方法

<?php
include_once"dbconnection.php";
session_start();
$connect = mysql_connect($host, $username, $password) or die (@mysql_error());
$selectdb = mysql_select_db($database, $connect) or die (@mysql_error());
if(isset($_POST['postblog'])){
    $blogtitle = $_POST['blogtitle'];
    $blogcontent = $_POST['blogcontent'];
    $author = 'Admin';
    $query = mysql_query("INSERT INTO blog SET date='date()', title='$blogtitle', author='$author', published='1', content='$blogcontent'");
    if ($query == false){
        echo "false";
    } else {
        echo "true";
    }
}
?>

和html表单

<form action='postblog.php' method='post'>
    <input class="inputMed" type="text" name="blogtitle"> <br />
    <textarea style="width: 600px;" name="blogcontent"></textarea> <br />
    <input type="submit" name="postblog" id="postblog" value="Post Blog" />
</form>

提前致谢

4 个答案:

答案 0 :(得分:1)

您的编辑可能会提交另一个变量(或根本不提交它)。一种说法是让你的PHP做这样的事情:

print_r($_REQUEST);

暂时将其放入您的脚本中,以查看提交的内容和名称。如果你看到了,那很好。如果你没有看到你的内容,你会发现问题与PHP无关,你必须深入了解nicedit方面。

答案 1 :(得分:1)

关于HOWEVER日期问题。您的'date()'被解析为字符串而非函数,并且您尚未定义参数。改为 -

$query = mysql_query("INSERT INTO blog SET date='".date('Y-m-d')."', title='$blogtitle', author='$author', published='1', content='$blogcontent'");

或使用MySQL NOW() -

$query = mysql_query("INSERT INTO blog SET date=NOW(), title='$blogtitle', author='$author', published='1', content='$blogcontent'");

或使用MySQL CURDATE() -

$query = mysql_query("INSERT INTO blog SET date=CURDATE(), title='$blogtitle', author='$author', published='1', content='$blogcontent'");

另见 - PHP function inside single quotes display is as text

答案 2 :(得分:0)

根据这篇文章:NicEdit data not in POST,你需要这样的东西:

<INPUT type=submit name="submit" value="Send" onclick="nicEditors.findEditor('blogContent').saveContent();">

可能还有以下几点:

var editor = new nicEditors.findEditor('blogContent');
var content = editor.getContent();

这应该指向正确的方向。如果您想要一个特定的答案,您需要专门将您的问题指向知道和/或使用NicEdit的人,因为您的问题与它(NicEdit)以非标准方式包装DOM的方式有关。

答案 3 :(得分:0)

对于日期问题,你可以使用像

这样的mysql currdate函数
   mysql_query("INSERT INTO blog SET date='DATE: Auto CURDATE()', title='$blogtitle', author='$author', published='1', content='$blogcontent'");

对于Nicedit试试这个

   try this code
   <html>
   <head>
    <script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
    <script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script>
   </head>

   <body>
    <form action='postblog.php' method='post'>
     <input class="inputMed" type="text" name="blogtitle"> <br />
     <textarea style="width: 600px;" name="blogcontent"></textarea> <br />
     <input type="submit" name="postblog" id="postblog" value="Post Blog" />
   </form>
  </body>
  </html>