繁体   English   中英

我如何将文本从textarea发布到mysql数据库

[英]How do i post text from textarea to mysql database

我已经尝试了下面的代码,但它只是在数据库中写了'1'而不是我写的文本。 我尝试使用输入类型=“文本”,它工作。 为什么它不适用于textarea? Ofc我也有if(isset)函数.. PHP:

$connectionText = mysql_connect("localhost", "root");
if(!$connectionText){
die("Noget gik galt?". mysql_connect_error());
}
mysql_select_db("textbox", $connectionText);

$t = isset($_POST['tekst']);

$sqlScript = "INSERT INTO forms (tekst) VALUES ('$t')";

mysql_query($sqlScript, $connectionText);
mysql_close($connectionText);

?>

HTML:

<form action="post.php" method="POST">
<textarea name="tekst" autocapitalize="on" autocomplete="off" 
autocorrect="off" 
class="textBox" maxlength="140"></textarea>
<input type="submit" value="Offentligør" name="submit">
</form>
$t = isset($_POST['tekst']) ? $_POST['tekst'] : '';

否则, $t是一个布尔值

温控功能isset如果给定的输入被定义或没有只检查。 所以它返回true或false作为输出,当你将它保存在数据库中时,你只会看到1(如果$ t为真)或0(如果$ t为假)。

你应该编辑这行$t = isset($_POST['tekst']); 如果您想在数据库中保存$_POST['tekst']值,请将其作为以下代码之一:

  • if-else版本:
if(isset($_POST['tekst']))
    $t = $_POST['tekst'];
else
    $t = '';
  • 如果版本短:
$t = isset($_POST['tekst']) ? $_POST['tekst'] : '';

函数isset($your_variable)如果定义了$your_variable则返回true ,否则返回false 所以$t为TRUE,它被翻译成1

提示:您的代码容易受到SQL注入攻击(在构建SQL语句时应该转义$t )提示2:首先验证用户输入,如果一切正常则连接到DB(节省资源)

您只需要向<form>添加一个id值,然后将form属性添加到具有表单id值的textarea

<form id="sample".....>
  <textarea name="aba" form="sample".....></textarea>
</form>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM