Textarea input met \n in DB zetten
Er is alleen één plekje waar geen \n komt ?
EDIT: En ze komen ook nog eens onder elkaar, wat niet mag. Ik snap er niks van..
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<script type="text/javascript" language="javascript">
alert("Alert van Moderator:\n----------------------------\nregel1
\nregel2
\nregel3
\nregel4
\nenz");
</script>
alert("Alert van Moderator:\n----------------------------\nregel1
\nregel2
\nregel3
\nregel4
\nenz");
</script>
Gewijzigd op 01/01/1970 01:00:00 door Doney
Hoe ziet je script er nu uit?
Dit is het invoegscript:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
$_POST[bericht] = str_replace("\n","\\n", $_POST[bericht]);
if ($_POST[addname] == 1) {
$bericht = "Alert van " . $_SESSION[username] . ":\\n----------------------------\\n" . $_POST[bericht] . "";
} else {
$bericht = "Alert van Moderator:\\n----------------------------\\n" . $_POST[bericht] . "";
}
mysql_query("INSERT INTO alert VALUES (0, ".userID($_POST[username]).", '". $bericht ."', NOW(), 0)") or die (mysql_error());
echo "Het bericht is verzonden naar ".$_POST[username].".";
if ($_POST[addname] == 1) {
$bericht = "Alert van " . $_SESSION[username] . ":\\n----------------------------\\n" . $_POST[bericht] . "";
} else {
$bericht = "Alert van Moderator:\\n----------------------------\\n" . $_POST[bericht] . "";
}
mysql_query("INSERT INTO alert VALUES (0, ".userID($_POST[username]).", '". $bericht ."', NOW(), 0)") or die (mysql_error());
echo "Het bericht is verzonden naar ".$_POST[username].".";
En het weergeven-script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
function checkAlerts () {
$getalerts = mysql_query("SELECT * FROM `alert` WHERE `userid` = '" . userID($_SESSION[username]) . "' AND `read` = 0 ORDER BY `tijd` ASC") or die (mysql_error());
while($alert = mysql_fetch_object($getalerts)) {
$bericht = str_replace("\n", '\n', $alert->bericht);
echo '<script type="text/javascript" language="javascript">
alert("' . $bericht . '");
</script>';
mysql_query("UPDATE `alert` SET `read` = 1 WHERE `id` = '".$alert->id."' LIMIT 1") or die (mysql_error());
}
}
$getalerts = mysql_query("SELECT * FROM `alert` WHERE `userid` = '" . userID($_SESSION[username]) . "' AND `read` = 0 ORDER BY `tijd` ASC") or die (mysql_error());
while($alert = mysql_fetch_object($getalerts)) {
$bericht = str_replace("\n", '\n', $alert->bericht);
echo '<script type="text/javascript" language="javascript">
alert("' . $bericht . '");
</script>';
mysql_query("UPDATE `alert` SET `read` = 1 WHERE `id` = '".$alert->id."' LIMIT 1") or die (mysql_error());
}
}
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
if ($_POST['addname'] == 1)
{
$bericht = "Alert van " . $_SESSION['username'];
}
else
{
$bericht = "Alert van Moderator";
}
mysql_query("INSERT INTO alert
VALUES (
0,
" . userID($_POST['username']) . ",
'" . $bericht . ":\n----------------------------\n" . $_POST['bericht'] . "',
NOW(),
0)
") or die (mysql_error());
echo "Het bericht is verzonden naar " . $_POST['username'] . ".";
?>
if ($_POST['addname'] == 1)
{
$bericht = "Alert van " . $_SESSION['username'];
}
else
{
$bericht = "Alert van Moderator";
}
mysql_query("INSERT INTO alert
VALUES (
0,
" . userID($_POST['username']) . ",
'" . $bericht . ":\n----------------------------\n" . $_POST['bericht'] . "',
NOW(),
0)
") or die (mysql_error());
echo "Het bericht is verzonden naar " . $_POST['username'] . ".";
?>
Ligt het misschien aan de database ofzo?
Vervang jouw eerste scriptje je eens door bovenstaand.
Code (php)
1
2
3
4
2
3
4
<?php
$bericht = str_replace("\n", '\n', $alert->bericht);
$bericht = str_replace("\r", '', $bericht);
?>
$bericht = str_replace("\n", '\n', $alert->bericht);
$bericht = str_replace("\r", '', $bericht);
?>
Edit: Foutje verbeterd.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Thanks SanThe! Hij werkt nu eindelijk :)
Succes verder.