【发布时间】:2017-11-29 19:44:10
【问题描述】:
我已经尝试了下面的代码,但它只是在数据库中写了“1”而不是我写的文本。我用 input type="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']);这就是问题 -
php.net/manual/en/function.isset.php,
Returns TRUE if var exists and has value other than NULL. FALSE otherwise.。您还可以接受 SQL 注入并使用过时的驱动程序。升级您的驱动程序(mysqli 或 pdo)并进行参数化。 -
您正在编写的代码对 Web 上最普遍的攻击 SQL 注入是开放的。在这里阅读:stackoverflow.com/questions/60174/…
标签: php html mysql forms textarea