problemen met nl2br

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kkkkk k

kkkkk k

13/11/2006 21:24:00
Quote Anchor link
Hallo allemaal,

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?
    $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>&raquo; 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
 
PHP hulp

PHP hulp

28/11/2024 03:14:11
 
Joren de Wit

Joren de Wit

13/11/2006 21:38:00
Quote Anchor link
nl2br() en htmlentities() gebruik je pas nádat je gegevens uit de database hebt gehaald en je ze op je scherm wilt tonen.

Voordat je informatie in de database opslaat gebruik je een functie als mysql_real_escape_string() om de input te beveiligen, meer niet.
 
Kkkkk k

kkkkk k

13/11/2006 21:42:00
Quote Anchor link
Geweldig hij doet het. In woorden is niet uit te drukken hoe groot mijn dank is.
 
Michael -

Michael -

13/11/2006 21:42:00
Quote Anchor link
Offtopic:

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!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.