problemen met nl2br
ik heb een probleem met betrekking tot nl2br. Ik wil graag een tekst uit een database in een tekstvak veranderen, dus tekst uit database in tesktvak plaatsen en als ik op submit druk de tekst weer in de database opslaan. en vervolgens weergeven op een gewone pagina (in html). Met behulp van nl2br kan ik zorgen dat ik de tekst goed weer kan geven in html, maar als ik iets ga bewerken word elke keer als ik op submit druk het aantal <br /> verdubbeld. --> Wie weet hiervoor een oplossing. De code die ik nu gebruik is.
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?
$dbh=mysql_connect or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("***");
$bestand = 8;
if($_GET['page'] == 312) $bestand = 7;
if($_GET['page'] == 313) $bestand = 1;
if($_GET['page'] == 314) $bestand = 2;
if($_GET['page'] == 315) $bestand = 3;
if($_GET['page'] == 316) $bestand = 4;
if($_GET['page'] == 317) $bestand = 5;
if($_GET['page'] == 318) $bestand = 6;
if (isset($_GET['bew']))
{
$bewerk = $_GET['bew'];
if ($_POST['submit'] && $_POST['bericht'])
{
$bericht = nl2br( htmlentities( $HTTP_POST_VARS[bericht] ) );
$datum = date("Y:m:d");
$sql = "UPDATE `hoofdstukken` SET `inhoud`='$bericht' WHERE `hoofdstukken`.`id` =$bewerk;";
mysql_query($sql) or die(mysql_error());
}
else{}
$sql = mysql_query("SELECT * FROM hoofdstukken WHERE id = $bewerk;");
if (mysql_num_rows($sql) >= 1)
{
//net zolang totdat alles weg is.
while ($record = mysql_fetch_array($sql))
{
$text = str_replace('<br />', "\n", $record[inhoud]);
$verandering = $record[bijgewerkt];
}
}
echo "<form method=post action=$PHP_SELF>";
echo "<textarea name=bericht rows=23 cols=80 class=igt name=bericht overflow:hidden>$text</textarea><br>";
echo "<input type=submit name=submit value=submit class=button>";
echo "</form>";
}
else
{
$page = $_GET['page'];
echo "<a href=index.php?page=$page&&bew=$bestand target=_self class=toplink>» Bewerken</a><br><br>";
$sql = mysql_query("SELECT * FROM hoofdstukken WHERE id = $bestand;");
if (mysql_num_rows($sql) >= 1)
{
//net zolang totdat alles weg is.
while ($record = mysql_fetch_array($sql))
{
$text = $record[inhoud];
$verandering = $record[bijgewerkt];
echo $text;
}
}
}
?>
$dbh=mysql_connect or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("***");
$bestand = 8;
if($_GET['page'] == 312) $bestand = 7;
if($_GET['page'] == 313) $bestand = 1;
if($_GET['page'] == 314) $bestand = 2;
if($_GET['page'] == 315) $bestand = 3;
if($_GET['page'] == 316) $bestand = 4;
if($_GET['page'] == 317) $bestand = 5;
if($_GET['page'] == 318) $bestand = 6;
if (isset($_GET['bew']))
{
$bewerk = $_GET['bew'];
if ($_POST['submit'] && $_POST['bericht'])
{
$bericht = nl2br( htmlentities( $HTTP_POST_VARS[bericht] ) );
$datum = date("Y:m:d");
$sql = "UPDATE `hoofdstukken` SET `inhoud`='$bericht' WHERE `hoofdstukken`.`id` =$bewerk;";
mysql_query($sql) or die(mysql_error());
}
else{}
$sql = mysql_query("SELECT * FROM hoofdstukken WHERE id = $bewerk;");
if (mysql_num_rows($sql) >= 1)
{
//net zolang totdat alles weg is.
while ($record = mysql_fetch_array($sql))
{
$text = str_replace('<br />', "\n", $record[inhoud]);
$verandering = $record[bijgewerkt];
}
}
echo "<form method=post action=$PHP_SELF>";
echo "<textarea name=bericht rows=23 cols=80 class=igt name=bericht overflow:hidden>$text</textarea><br>";
echo "<input type=submit name=submit value=submit class=button>";
echo "</form>";
}
else
{
$page = $_GET['page'];
echo "<a href=index.php?page=$page&&bew=$bestand target=_self class=toplink>» Bewerken</a><br><br>";
$sql = mysql_query("SELECT * FROM hoofdstukken WHERE id = $bestand;");
if (mysql_num_rows($sql) >= 1)
{
//net zolang totdat alles weg is.
while ($record = mysql_fetch_array($sql))
{
$text = $record[inhoud];
$verandering = $record[bijgewerkt];
echo $text;
}
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Kkkkk k
Voordat je informatie in de database opslaat gebruik je een functie als mysql_real_escape_string() om de input te beveiligen, meer niet.
Geweldig hij doet het. In woorden is niet uit te drukken hoe groot mijn dank is.
Waar heb je dit script vandaan?
Vars binnen quotes, fout!
$HTTP_POST_VARS[bericht] ? Wat is dat? Zou $_POST['bericht'] moeten zijn.
En zet de vars buiten quotes. $PHP_SELF is ook oud! Verander dit in $_SERVER['PHP_SELF']
mysql_fetch_array Als je geen arrays gebruikt kun je beter mysql_fetch_assoc gebruiken. En ik zou je wachtwoord van je database even uit je script halen!