3

私のMySQLデータベースに送信しようとしているフォームがあり、すべてのレコードを送信すると、ブログテーブルの「コンテンツ」フィールドが受け入れられます。

これが問題かどうかはわかりませんが、nicedit.com の textarea フレームワークを使用しています

更新: NicEdit フレームワークを削除しましたが、通常のテキストエリアとして送信しても問題なく動作しました。これをどこに使用すればよいかわかりません。サポートを NicEdit に引き継いで、解決策が見つかったら応答を投稿します。この問題。

私は別の問題を抱えており、それについて新しい投稿を開くのは嫌ですが、私の日付は現在の日付ではなく 0000-00-00 として挿入されています。それに対する解決策はありますか?

これがphpポストメソッドです

<?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

4 に答える 4

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関数はテキストとして表示されます

于 2013-01-01T03:18:47.797 に答える
1

編集者が別の変数に送信している (またはまったく送信していない) 可能性があります。1 つの方法は、PHP に次のようなことをさせることです。

print_r($_REQUEST);

それをスクリプトに一時的に入れて、何が送信され、どのような名前で送信されるかを確認します。あなたがそれを見るなら、素晴らしい。コンテンツが表示されない場合は、問題が PHP に関連していないことがわかり、nicedit 側を調べる必要があります。

于 2013-01-01T00:44:41.320 に答える
0

日付の問題については、次のようなmysql currdate関数を使用できます

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

そしてナイスディットの場合はこれを試してください

   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> 
于 2013-01-01T03:20:47.087 に答える
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 を非標準的な方法でラップする方法に特に関連しているためです。

于 2013-01-01T00:23:05.550 に答える