我如何 post 文本从 textarea 到 mysql 数据库

How do i post text from textarea to mysql database

我试过下面的代码,但它只是在数据库中写了“1”,而不是我写的文本。我对输入类型="text" 进行了相同的尝试,并且成功了。为什么它不适用于 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($your_variable) return true 如果定义了 $your_variable,否则 return false。所以$t为TRUE,翻译成1.

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

函数isset 只检查给定的输入是否定义。所以它 returns 真或假作为输出,当你将它保存在数据库中时,你只会看到 1(如果 $t 为真)或 0(如果 $t 为假)。

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

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

你只需要在<form>中添加一个id值,然后添加表格 使用表单 ID 值

的文本区域属性
<form id="sample".....>
  <textarea name="aba" form="sample".....></textarea>
</form>