将文本区域保存到mySQL数据库字段PHP中

时间:2011-08-12 12:32:20

标签: php mysql post textarea

您好我使用openWYSIWYG作为文本区域的文本编辑器。然后我尝试将文本区域的内容发布到我的数据库中的字段。

这是我到目前为止的代码 -

<?php
$text = $_GET['Comments']; 



mysql_connect ("localhost", "user", "password") or die ('Error: ' . mysql_error());
mysql_select_db("databasename") or die ('Data error:' . mysql_error());

$query="INSERT INTO KeepData (player_data)VALUES ('$text')";

mysql_query($query) or die ('Error updating database' . mysql_error());




?> 

我可以连接到数据库,当我点击提交时,它会在字段中添加一个空白条目?我怎么能得到它所以它保留所有格式化的数据?

非常感谢

更新

 <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
 <textarea id="Comments" name="Comments">
 example text
 </textarea>
<input type="submit" name="mysubmit" value="Save Post" />
 </form>

DIM3NSION

6 个答案:

答案 0 :(得分:4)

尝试以下内容:

<?php
    if ($_POST['submit']) {
        mysql_connect ("localhost", "user", "password") or die ('Error: ' . mysql_error());
        mysql_select_db("databasename") or die ('Data error:' . mysql_error());
        $text = mysql_real_escape_string($_POST['comments']); 
        $query="INSERT INTO KeepData (player_data) VALUES ('$text')";
        mysql_query($query) or die ('Error updating database' . mysql_error());
    }
?>


<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <textarea name="comments">Example Comment</textarea>
    <input name="submit" type="submit" value="submit" />
</form>

答案 1 :(得分:0)

您必须将格式编码版本保存在隐藏文本区域的其他位置(就像在StackOverflow上一样,如果您在数据库中键入**text**它将显示为 text ,它们可能是将其保存为**text**并使用PHP进行渲染。

保存格式化版本后,从数据库中获取数据时使用PHP进行渲染。

答案 2 :(得分:0)

你的表格是POSTing还是GETing(你在帖子中说过POST)?你有$ _GET ['评论'],但如果你的表格的动作是POST,你需要使用$ _POST ['评论'];

如果在分配$ text后添加echo $text;exit;,你看到了吗?

答案 3 :(得分:0)

由于mysql注入,您应该使用mysql_escape_string函数,如果文本包含',您将收到错误。

答案 4 :(得分:0)

  1. 检查您是否有<form action='get'>。如果默认情况下只使用<form> get
  2. 检查您的wisywig是否具有name='Comments'属性。
  3. 使用$text逃离mysql_real_escape_string。它可以包含SQL非法符号,例如'。此函数使用\
  4. 对它们进行转义
  5. (推荐)不要使用mysql_*,不推荐使用PHP 5.3并将其删除。
  6. (推荐)将用户输入附加到sql查询始终存在SQL注入的风险。使用prepared statements

答案 5 :(得分:0)

只需添加类似

的onclick事件即可
<button onclick=" $('#txtEditor').val($('.Editor-editor').html());" type="Publish" id="Publish" name="Publish" class="btn btn-primary">Publish</button>

请记住#txtEditor必须与表单ID匹配,这很有效,并注意.html会将其保存到数据库中,如果你添加了任何颜色,Bold和更多效果是经验丰富的功能)

然后为你的PHP代码发送到数据库,做这样的事情

$anything = ($_POST['txtEditor']);

$anything您将其用作变量,不要忘记txtEidtor是表单ID。有了这个你的所见即所得正在运转。