SQL データベースに直接入力されるテキストをユーザーが編集できるページを作成しました。ただし問題は、SQL が HTML テキストエリアの改行を無視することです。たとえば、次のように入力します。
- 1
- 2
- 3
SELECT クエリを実行すると、「123」と表示されます。SQL がテキストエリアの新しい行を無視しないようにコードを調整するにはどうすればよいですか?
<?php
session_start();
if (!isset($_SESSION['ingelogd'])
|| $_SESSION['ingelogd'] !== true) {
header('Location: /xxxx/xxxx/Login.php');
exit;
}
?>
<CSS code removed>
<?php
function sanitize($data) {
return stripslashes(strip_tags(mysql_real_escape_string(htmlentities($data))));
}
if (isset($_POST)) {
if (!empty($_POST["inhoud"])) {
$con=mysqli_connect("localhost","root","","db1");
if (mysqli_connect_errno($con))
{
echo "Database error: " . mysqli_connect_error();
}
$sanitize_post = $_POST["inhoud"];
$sanitize_post = sanitize($sanitize_post);
mysqli_query($con,"UPDATE tekstpagina SET inhoud='$sanitize_post' WHERE naam='over'");
mysqli_close($con);
}
}
?>
<b>Update:</b>
<form action="" method="post"><br><textarea id="styled" name="inhoud"></textarea>
<br/><input type="submit" value="Bijwerken" name="Update">
</form>
</p>