Weergeven van html code na invoer via admin panel
Stel nu dat ik een afbeelding wil ingeven, zou ik dit willen doen met gewone html code (<img src="blabl"> )maar ja als ik dit doe, dan word die code gewoon als tekst weergegeven ipv de afbeelding zelf ....
Hoe kan ik dit aanpassen?
Nu heb ik bij de weergave:
echo nl2br(htmlspecialchars($row['bericht']));
volgens moet dit anders geparset worden ofzo, kweet alleen niet hoe :)
Als jullie meer code nodig hebben ofzo, let me know
Thx a lot
Iemand enig idee? volgens mij moet htmlspecialchars veranderen maar ik weet niet in wat
Niet bumpen, please. Volgende bump is topic closed. Lees de forumregels even door.
echo nl2br($row['bericht']);
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
include("connect.php");
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$name = htmlentities($_POST['name']);
$con = nl2br($_POST['con']);
$id = htmlentities($_POST['id']);
if ($id == "" || $name == "" || $con == "")
die("Please fill out the whole form.");
$link = "UPDATE newsletters SET `name`='$name',`content`='$con' WHERE id='$id'";
$res = mysql_query($link) or die(mysql_error());
if ($res)
die("Succesvol gewijzigd.<br />Klik <a href='index.php'>hier</a> om terug te gaan.");
}
else
{
$id = preg_replace("/'\/<>\"/","",$_GET['id']);
if (empty($id))
die("Invalid ID");
$link = "SELECT * FROM newsletters WHERE id='$id'";
$res = mysql_query($link) or die(mysql_error());
$r = mysql_fetch_assoc($res);
echo '<html><head><title>Bewerk nieuwsbrief</title></head>
<body>
<form action="" method="POST">
Naam: <input type="text" name="name" value="' . $r['name'] . '"><br />
<textarea name="con" cols="100" rows="30">' . $r['content'] . '</textarea><br /><br />
<input type="hidden" name="id" value="' . $r['id'] . '">
<input type="submit" value="Wijzig nieuwsbrief">
</form>
</body>
</html>';
}
?>
include("connect.php");
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$name = htmlentities($_POST['name']);
$con = nl2br($_POST['con']);
$id = htmlentities($_POST['id']);
if ($id == "" || $name == "" || $con == "")
die("Please fill out the whole form.");
$link = "UPDATE newsletters SET `name`='$name',`content`='$con' WHERE id='$id'";
$res = mysql_query($link) or die(mysql_error());
if ($res)
die("Succesvol gewijzigd.<br />Klik <a href='index.php'>hier</a> om terug te gaan.");
}
else
{
$id = preg_replace("/'\/<>\"/","",$_GET['id']);
if (empty($id))
die("Invalid ID");
$link = "SELECT * FROM newsletters WHERE id='$id'";
$res = mysql_query($link) or die(mysql_error());
$r = mysql_fetch_assoc($res);
echo '<html><head><title>Bewerk nieuwsbrief</title></head>
<body>
<form action="" method="POST">
Naam: <input type="text" name="name" value="' . $r['name'] . '"><br />
<textarea name="con" cols="100" rows="30">' . $r['content'] . '</textarea><br /><br />
<input type="hidden" name="id" value="' . $r['id'] . '">
<input type="submit" value="Wijzig nieuwsbrief">
</form>
</body>
</html>';
}
?>
zie regel 6
nl2br() enkel gebruiken als je gegevens uit de database haalt, niet waneer je ze erin stopt.
Dat heb ik inderdaad al geprobeerd. Als ik regel 6 wijzig in $con = htmlentities($_POST['con']); dan wordt de input (want id wordt gewijzigd) weer van de html ontdaan en staat er platte tekst met html tags in het record.