"\n" wil niet nieuwe regel worden!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Maarten Ooms

Maarten Ooms

15/03/2011 17:34:41
Quote Anchor link
Ik heb 2 scripts die data vanuit een LSL (Second Life) script ontvangen. de eerste ontvangt strings en slaat die op in een SQL database. De 2e geeft de opgeslagen strings weer op een webpagina.
De bedoeling is dat alle "\n"'s nieuwe regels worden, maar wat ik ook probeer, de webpagina blijft precies weergeven wat er vanuit SL gestuurd is. (regel1\nregel2)
dit zijn de scripts:

http://pastebin.com/ygQHAfVi << SL2DB
http://pastebin.com/xBtQ1z1G << DB2HTML

ik heb geprobeert de data aan te passen zodra het word ontvangen EN voordat het word weergegeven op de pagina. nl2br lijkt van "\n" "\\n" te maken maar geen nieuwe regels! HEEELP!!!

Maarten
 
PHP hulp

PHP hulp

24/11/2024 08:05:22
 
Vincent Huisman

Vincent Huisman

15/03/2011 17:36:17
 
Maarten Ooms

Maarten Ooms

15/03/2011 17:38:45
Quote Anchor link
Vincent Huisman op 15/03/2011 17:36:17:


nl2br lijkt van "\n" "\\n" te maken maar geen nieuwe regels!
 
- SanThe -

- SanThe -

15/03/2011 17:40:32
Quote Anchor link
Alleen dat doet ie niet. Dat doet addslashes().
 
Maarten Ooms

Maarten Ooms

15/03/2011 17:44:01
Quote Anchor link
- SanThe - op 15/03/2011 17:40:32:
Alleen dat doet ie niet. Dat doet addslashes().

ik zie net dat de string bij onvangst door htmlentities( data ) gaat... Zou dat nl2br in de war kunnen brengen...?
 
Thomas van den Bulk

Thomas van den Bulk

15/03/2011 22:49:12
Quote Anchor link
indeed, hij escaped dan de \ van \n, waardoor het dus geen newline wordt, maar gewoon de text "\n"

maar je kan het natuurlijk ook gewoon weghalen met stripslashes()
Gewijzigd op 15/03/2011 22:50:54 door Thomas van den Bulk
 
Maarten Ooms

Maarten Ooms

16/03/2011 00:09:16
Quote Anchor link
Thomas van den Bulk op 15/03/2011 22:49:12:
indeed, hij escaped dan de \ van \n, waardoor het dus geen newline wordt, maar gewoon de text "\n"

maar je kan het natuurlijk ook gewoon weghalen met stripslashes()


als ik in de DB kijk zie ik line1\nline2\nline3\nline4

om op pagina te zetten gebruik ik
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
while ($result = mysql_fetch_array($results)) $script .= $result["data"]."<br />";
include 'header.html'; echo $script; include 'footer.html';



als ik $script verander in nl2br($script); blijft het resultaat gewoon line1\nline2\nline3\nline4

Iksnappergeenzakvan
Gewijzigd op 16/03/2011 00:09:58 door Maarten Ooms
 

16/03/2011 00:15:39
Quote Anchor link
Thomas van den Bulk op 15/03/2011 22:49:12:
indeed, hij escaped dan de \ van \n, waardoor het dus geen newline wordt, maar gewoon de text "\n"

maar je kan het natuurlijk ook gewoon weghalen met stripslashes()


Waar haal jij die onzin weg? Dat slaat nergens op.

Let op dat je magic quotes uit hebt staan, gebruik geen addslashes.
Verder is het zo dat je pas htmlentities e.d. gebruikt als je de data uit de database haalt. Niet als je het erin stopt. Als je het eruit haalt gebruik je ook nl2br.
 
Maarten Ooms

Maarten Ooms

16/03/2011 00:26:31
Quote Anchor link
Karl Karl op 16/03/2011 00:15:39:
Thomas van den Bulk op 15/03/2011 22:49:12:
indeed, hij escaped dan de \ van \n, waardoor het dus geen newline wordt, maar gewoon de text "\n"

maar je kan het natuurlijk ook gewoon weghalen met stripslashes()


Waar haal jij die onzin weg? Dat slaat nergens op.

Let op dat je magic quotes uit hebt staan, gebruik geen addslashes.
Verder is het zo dat je pas htmlentities e.d. gebruikt als je de data uit de database haalt. Niet als je het erin stopt. Als je het eruit haalt gebruik je ook nl2br

aha , $data = htmlentities($_POST["data"]); is dus niet correct? Hoe dan ook , het resultaat blijft hetzelde...

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
$uuid = htmlentities($_GET["uuid"]);

$dbcnx = @mysql_connect($DB_HOST, $DB_USER, $DB_PASS);
if (!$dbcnx) exit(); if (! @mysql_select_db($DB_NAME)) exit();

$results = mysql_query("SELECT data FROM $DB_TABLE
        WHERE uuid LIKE '$uuid' ORDER BY seq");
        
if (!$results)
{
    echo "Could not successfully run query ($sql) from DB: " . mysql_error();
    exit();
}

while ($result = mysql_fetch_array($results)) $script .= nl2br($result["data"])."<br />";
include 'header.html'; echo $script; include 'footer.html';
 

16/03/2011 00:33:07
Quote Anchor link
Doe eens wat aan foutafhandeling. Je kunt van elke functie zien wat ze terug geven. 'die' en exit zijn ook nergens voor nodig. Variabelen buiten quotes is ook handig. Tijdens development kan je error reporting wel aan zetten. Laat nooit de php / sql error aan de gebruiker zien. Gebruik mysql_fetch_assoc. Let op sql injections, gebruik mysql_real_escape_string.
 



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.